
私はサーバー(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
このコマンドを実行した後にアクティブにする必要があるプロセスが実行されていないようです。
root アクセスを使用してシェルで同じコマンドを呼び出します。
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 &');
頑張ってくれてありがとう...