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

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

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 &');

頑張ってくれてありがとう...

おすすめ記事