我正在使用 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*
答案1
好吧,那么
似乎答案非常简单(尽管可能令人沮丧:-))我刚刚添加了 PHP 的完整路径。真的不知道为什么我之前没有收到任何错误以及为什么它有效(如果有人可以解释的话)
shell_exec('/usr/local/bin/php -q /websockets/timedactions.php /dev/null 2>&1 &');
谢谢你的尝试...