PHPでexecコマンドを使用してバッチファイルを実行しようとしました。私はそれを次のように使用しました:
$filename = 'test.bat';
exec($filename);
しかし、出力は得られませんでした。この機能を別のコマンドで試してみましたが、うまくいきます。あなたの提案は非常に高く評価されます。ありがとう
PHPでexecコマンドを使用してバッチファイルを実行しようとしました。私はそれを次のように使用しました:
$filename = 'test.bat';
exec($filename);
しかし、出力は得られませんでした。この機能を別のコマンドで試してみましたが、うまくいきます。あなたの提案は非常に高く評価されます。ありがとう
主な問題はpath
とpermission
でした。実行するバッチファイルを取得しました。
これが私の解決策です:
PHPファイルと同じフォルダーからバッチファイルを実行します。
exec("mybatch.bat");
バッチ ファイルを実行するのに十分な権限が Apache Service にあることを確認します。テストするために、Apache の管理者アカウントを使用してログオンしました。
Windowsサーバーでは、引用符に注意してください。これは私のために働くものです:
system('cmd.exe /c C:\myfolder\_batches\run_this_batch.bat');
system("cmd /c C:[path to file]");
「RichieHindle」が同様のトピックで述べたように。
または試す
exec("cmd.exe /c test.bat") ?
コマンドを実行する必要があり、コマンドからのすべてのデータを干渉なしで直接返す必要がある場合は、passthru() 関数を使用します。