php - 永久的PHP套接字服务器

标签 php apache sockets

我正在计划开发用PHP编写的服务器,该服务器可以为套接字请求提供服务。我使用免费的主机(Heliohost)进行测试,并且具有cPanel。到目前为止,我唯一能想到的始终使PHP脚本运行的方法是编写一个cron作业,该作业运行bash脚本以检查ps来查看PHP是否已在运行,如果尚未运行,启动它。

有没有更好的办法?也许可以通过一种方法在HTTP请求上启动PHP线程,并在为请求提供服务后继续在Apache中运行?

最佳答案

几乎可以肯定,从Apache运行持久性进程不会成功。它旨在防止这种情况发生(尽管如果可以进入fork(2)系统调用,它可能是可行的)。我不建议您尝试一下。

更有意义的是,如果您使用托管提供程序,使您能够编写自己的crontab(5)规范并直接运行PHP解释器。然后,您可以像这样在crontab(5)中添加一行:

@reboot /path/to/php /path/to/script.php

您的脚本可能应该执行常规的daemonization任务,以便cron(8)不会停留在等待进程退出的状态。

关于php - 永久的PHP套接字服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550247/

相关文章:

php - 连接到本地主机 [不同路径]

Python 套接字 - 从客户端保持与服务器的连接

c++ - 模拟数据包发送和接收

php - 通过元素指针(别名)删除数组元素

javascript - 我可以只使用 jQuery 验证还是需要 PHP?

php - Symfony - 映射相互不一致

c++ - 调试网络应用程序和测试同步性?

php从DIV标签获取值

javascript - 使用 Javascript 进行光栅化在 Apache 服务器上看起来有所不同

apache - ProxyPass 和 RewriteRule [P] 在 http/https 方面表现不同