使おうとしているのですshell_exec()
が、使い方がよくわかりません。このページを参照しました:コマンドが完了するのを待たずに shell_exec を使用する方法はありますか? .
2 つの PHP ファイルを作成しました。
shell_exec.php
<?php
shell_exec('php ' . __DIR__ . '/log.php > /dev/null 2>/dev/null &');
?>
log.php
<?php
$file = __DIR__ . '/log.txt';
$current = time() . ": sample text\r\n";
file_put_contents($file, $current,FILE_APPEND);
?>
次に、ブラウザから shell_exec.php のページにアクセスしました。log.php を実行してファイルを作成することを期待していました。しかし、何も起こりません。
php
上記のコードにある関数で指定されたphpパスは、オペレーティングシステムによって異なると思われます。現在、Windows でテストしているため、動作しない可能性があります。しかし、私は100%確信が持てません。
もしそうなら、どうすればphpパスを見つけて自分の環境で指定できますか? また、phpスクリプトを使用して呼び出すスクリプトを配布する場合shell_exec()
、phpパスを見つけるためにコードを書く必要があるということですか? その場合、何か良い方法はありますか?