Php

php - 使用 shell_exec 執行 shell 命令

  • September 16, 2019

我正在使用 ajax 呼叫在伺服器(centos)上執行“shell_exec”。我正在執行的行如下

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 訪問權限的 shell 上呼叫相同的命令

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*

那好吧

似乎答案很簡單(令人沮喪的是:-))我剛剛添加了 PHP 的完整路徑。真的不知道為什麼我之前沒有收到任何錯誤以及它為什麼起作用(如果有人能解釋的話)

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

感謝您嘗試…

引用自:https://unix.stackexchange.com/questions/159607