php - shell_exec を使用してシェル コマンドを実行する

php - shell_exec を使用してシェル コマンドを実行する

私はサーバー(centos)上で「shell_exec」を実行するためにajax呼び出しを使用しています。私が実行している行は次のとおりです。

echo shell_exec("php -q /websockets/timedactions.php");

これはサーバーの応答です:

X-Powered-By: PHP/5.5.16
Access-Control-Allow-Origin: http://myIpAddress
Access-Control-Allow-Credentials: true
Content-type: text/html

このコマンドを実行した後、アクティブ化するはずのプロセスが実行されていないようです。

ルートアクセスでシェル上で同じコマンドを呼び出す

php -q /websockets/timedactions.php

完璧に動作します。

shell_exec を使用してスクリプトを動作させるにはどうすればよいですか?

より詳しい情報:

ps aux | grep httpd | awk '{print $1}' = nobody


sestatus|grep enforcing = {no result}


file permissions -rwxr-xr-x 1 root root 


ls -lZ timedactions.php -rwxr-xr-x root root ? timedactions.php*

答え1

まあいいでしょう

答えはかなり簡単だったようです (イライラするかもしれませんが :-) ) PHP への完全なパスを追加しました。以前はエラーがなかった理由と、なぜ機能しているのかはよくわかりません (説明できる人がいれば)

shell_exec('/usr/local/bin/php -q /websockets/timedactions.php /dev/null 2>&1 &');

お試しいただきありがとうございます。

関連情報