5

PHPでexecコマンドを使用してバッチファイルを実行しようとしました。私はそれを次のように使用しました:

$filename = 'test.bat';
exec($filename);

しかし、出力は得られませんでした。この機能を別のコマンドで試してみましたが、うまくいきます。あなたの提案は非常に高く評価されます。ありがとう

4

6 に答える 6

7

主な問題はpathpermissionでした。実行するバッチファイルを取得しました。

これが私の解決策です:

  1. PHPファイルと同じフォルダーからバッチファイルを実行します。

    exec("mybatch.bat");

  2. バッチ ファイルを実行するのに十分な権限が Apache Service にあることを確認します。テストするために、Apache の管理者アカウントを使用してログオンしました。

于 2013-09-30T07:18:20.937 に答える
2

Windowsサーバーでは、引用符に注意してください。これは私のために働くものです:

system('cmd.exe /c C:\myfolder\_batches\run_this_batch.bat');
于 2014-10-28T18:40:33.323 に答える
1
system("cmd /c C:[path to file]");

「RichieHindle」が同様のトピックで述べたように。

または試す

exec("cmd.exe /c test.bat") ?
于 2013-09-30T07:15:16.080 に答える
1

コマンドを実行する必要があり、コマンドからのすべてのデータを干渉なしで直接返す必要がある場合は、passthru() 関数を使用します。

http://md1.php.net/manual/en/function.passthru.php

于 2013-09-30T07:15:56.030 に答える