许多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、Docker、Redis、Nginx等是应用层工具,自带后台运行配置。PHP作为脚本语言,不负责管理守护进程。 如需更复杂的后台运行逻辑,可在PHP脚本中自行实现守护进程。
以上就是如何让PHP脚本在后台运行而不受终端关闭的影响?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号