我正在使用需要在后台运行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"
是为了避免等待响应,因为脚本可能需要数小时才能完成。
答案 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的建议。