在后台运行 PHP 的最佳实践是什么?

在后台运行 PHP 的最佳实践是什么?

在命令行上运行以下命令时,它将暂停,直到我发出 fg 命令:

/usr/bin/php -r 'phpinfo();' &

无论 PHP 代码是否包含在 shebang 为#!/usr/bin/php.

我正在运行 CentOS 和 bash shell。

答案1

在后台运行作业时,没有特定于 PHP 的方法。广泛接受的方法是:

  1. 用一个screen。安装screen(如果尚未安装),然后在屏幕下运行 PHP 脚本。您可以随时脱离screen并注销计算机,脚本将继续运行。这里是在线提供的数百个有关如何使用screen.

  2. 使用nohup。用法是:

nohup <yourPHPcommand> &

当您注销时,这nohup将使您的脚本对 HANGUP 信号“说不”,因此,即使您注销后,您的 PHP 脚本也将继续运行。唯一的问题是您将无法将该作业/流程带到前台并查看输出(如果这对您很重要)。您可以将输出重定向到文件并查看从该文件打印出的内容。

在以上两个中,我建议您使用screen.您可以随时连接到屏幕并控制该过程,就像您在前台启动时一样。

PS:- 运行末尾带有“&”号的脚本&确实会将其置于后台,但当您注销终端时,脚本/进程会被终止。

相关内容