我试图通过Linux中的命令行在后台连续运行PHP脚本。我已经尝试过该命令,php filename.php &但是脚本执行似乎很快终止,而脚本应继续运行直到该过程终止。
php filename.php &
有什么建议么?
您确定脚本不包含任何错误吗?这就是通常使“ 执行很快终止 ”的原因。 首先,附加:
error_reporting(E_ALL); ini_set('display_errors', 1);
在脚本顶部显示可能存在的任何错误,然后可以使用:
nohup php filename.php &
即使会话断开连接或用户注销,nohup也会运行命令。
要么
nohup php filename.php >/dev/null 2>&1 &
与上述相同,但不创建nohup.out文件。
nohup.out
您还可以使用: ignore_user_abort(1);
ignore_user_abort(1);
设置客户端断开连接是否应中止脚本执行
set_time_limit(0);
限制脚本的最大执行时间,在这种情况下,它将一直运行到进程结束或apache进程重新启动。
该php和filename.php路径可以被设置为一个 完整路径 ,而不是php和filename.php,你可以使用/usr/bin/php和/full/path/to/filename.php。 建议使用完整路径, 以避免 找不到文件 错误。
php
filename.php
/usr/bin/php
/full/path/to/filename.php