私はCプログラム、つまりPHPの実行可能ファイルである '.exe'を実行しています。PHPからCプログラムを実行
ボタンをクリックするたびにPHPファイルを呼び出すHTMLとのインターフェースがあります。
PHPでは、シェルスクリプトを呼び出します。 だからPHP上で、私は次のようにします。次のように
echo shell_exec('sh auto_script.sh');
シェルファイルは、プログラムの.exeファイルを実行します。
./import -file.txt
import
は私の実行可能なCプログラムの.exeファイルとfile.txtをされている
私は今のところハードコーディングしています。
実行可能ファイル 'import'は、呼び出されたphpファイルと同じディレクトリに格納されます。
ターミナルでシェルスクリプトを実行すると、必要な出力で適切に実行されます。
しかし、私はPHPからそれを実行しようとすると、それは動作しません。私は今の時点でファイルに完全な権限を与えています。引数が文字列でなければならないことを意味し
文字列はshell_exec(文字列$ CMD)
、確か手段:
スクリプト 'cd'は' import'プログラムが入っているディレクトリにありますか? '。/'は現在の作業ディレクトリでプログラムを見つけることを意味します。 – Barmar
'shell_exec()'の引数を引用符で囲む必要があります。 – Barmar
はいインポートは、phpファイルと同じディレクトリにある実行可能ファイルであり、私はshell_execの引数を引用符で囲んでいます。 –