【发布时间】:2017-02-18 04:21:26
【问题描述】:
我正在使用需要在后台运行 PHP 的 PHP。我正在使用 shell_exec 来执行此操作并传递正确运行所需的参数。
例子:
shell_exec('php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . ' >/dev/null 2>&1');
但是,当从用户“nobounces”下的 PHP 脚本运行时,它根本不会运行。
我以 root 身份通过 SSH 测试了完全相同的调用,它运行顺利。
我在通话中遗漏了什么吗?
">/dev/null 2>&1" 用于避免等待响应,因为脚本可能需要数小时才能完成。
【问题讨论】:
-
该帐户很可能在其
PATH环境变量中没有 php 可执行文件。尝试使用 php 解释器的绝对路径,可能是/usr/bin/php。 -
在控制台输入php会发生什么?它会起作用吗?如果没有,设置路径 1st
-
尝试在 cPanel 安装中找到 PHP 的路径,已经尝试使用 /usr/bin/php 但它似乎不存在导致它仍然无法工作。
-
找到它:
/usr/local/cpanel/3rdparty/bin/php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . ' >/dev/null 2>&1但现在脚本正在等待输出...