如何让PHP脚本在后台运行而不受终端关闭的影响?

如何让PHP脚本在后台运行而不受终端关闭的影响?

如何让php脚本在后台持续运行?

许多php脚本需要在后台持续运行,不受终端关闭的影响。例如,一个简单的PHP脚本(例如s.php):

<?php cli_set_process_title('queue-server');  while(true) {     // ... 你的代码 ... } ?>

直接使用php s.php运行,终端关闭后脚本也会停止。 要实现类似workerman -d的后台运行效果,需要借助系统命令,而非PHP本身的功能。PHP解释器本身不具备守护进程管理能力,而workerman工具是构建于PHP之上的应用,自带后台运行机制。

要让PHP脚本在后台运行,可以使用nohup命令:

nohup php s.php 2>&1 &

此命令将s.php脚本置于后台运行。2>&1将标准错误输出重定向到标准输出,&将进程放入后台。即使关闭终端,脚本仍会继续执行。

立即学习PHP免费学习笔记(深入)”;

需要注意的是,PHP和Workerman是不同的工具,不能直接比较。Workerman、dockerredis、nginx等是应用层工具,自带后台运行配置。PHP作为脚本语言,不负责管理守护进程。 如需更复杂的后台运行逻辑,可在PHP脚本中自行实现守护进程。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享