从命令行运行 PHP 脚本作为后台进程

2022-08-30 13:19:55

我正在尝试通过Linux中的命令行在后台连续运行PHP脚本。我已经尝试了该命令,但似乎脚本执行非常快地终止,而它应该继续运行直到进程终止。php filename.php &

有什么建议吗?


答案 1

是否确定脚本不包含任何错误?这通常使“执行非常迅速地终止”。
首先,附加:

error_reporting(E_ALL); ini_set('display_errors', 1);

以显示它可能出现的任何错误,然后您可以使用:

nohup php filename.php &

nohup 运行命令,即使会话已断开连接或用户注销也是如此。

nohup php filename.php >/dev/null 2>&1 &

与上面相同,但不创建文件。nohup.out


您还可以使用:
ignore_user_abort(1);

设置客户端断开连接是否应中止脚本执行


“set_time_limit(0);”

限制脚本的最大执行时间,在这种情况下,它将一直运行到进程完成或 apache 进程重新启动。


#Notes 和 路径可以作为完整路径提供,则可以使用 和 代替 and。
建议使用完整路径以避免“找不到文件”错误。phpfilename.phpphpfilename.php/usr/bin/php/full/path/to/filename.php


答案 2

当您的会话关闭时,该过程可能会关闭。

尝试使用nohup php filename.php


推荐