脚本中的PHP shell_exec似乎不起作用

时间:2017-02-17 19:56:49

标签: php shell ssh

我正在使用需要在后台运行PHP的PHP。我使用shell_exec来执行它并传递正确运行所需的参数。

示例:

shell_exec('php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . '  >/dev/null 2>&1');

但是,当从用户“nobounces”下的PHP脚本运行时,它根本不会运行。

我通过SSH以root身份测试完全相同的调用,它运行顺畅。

我在电话中遗漏了什么?

">/dev/null 2>&1"是为了避免等待响应,因为脚本可能需要数小时才能完成。

1 个答案:

答案 0 :(得分:0)

在cpanel服务器上运行时,解决方案是使用:

shell_exec('/usr/local/cpanel/3rdparty/bin/php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . ' >/dev/null 2>&1 &');

您还可以使用以下路径使用PHP-CGI:

/usr/local/cpanel/3rdparty/bin/php-cgi

感谢@arkascha的建议。