我有一个需要运行的PHP脚本,它有一个无限循环。它用于连接到苹果的推送通知服务,然后通过我们的推送队列来推送通知。
我的问题是:如何运行PHP脚本,使其永远不会超时/关闭?这是正确的方式吗?还是我应该换一种方式?
我有带cPanel的HostGator。我还可以使用Linux命令行通过Putty访问根目录。
我尝试过的:1.)我尝试在后台通过Linux命令提示符运行该脚本。这起到了作用,但最终停止了(我猜它超时了?)2.)我研究了《克朗乔布斯》,但这部电影似乎每隔x分钟就会调用一次脚本。
我想要的东西是不断运行,永远不会超时。
您可以使用Cron每分钟运行一个脚本。
php -f /home/your_username/public_html/script.php
您可以阅读cPanel中的文档,了解如何在服务器中使用。
如果你想执行类似php的守护程序,你应该:
- 从控制台取消链接
- 将
set_time_limit
设置为0 - 也许您想要创建异步脚本
- 也许你会想要表演不同的节目
- 等等
此外,您还会遇到许多停止过程、检查状态等问题。
我建议使用类似PHPDaemon 1,2(也许是Ratchet?)库的东西,不要考虑问题,使用类似Supervisord的东西,如果你的守护进程会崩溃或卡住,它会自动重新启动你的守护程序。