2012-07-11 37 views
0

如何?可能吗?如果不是我的替代品是什么?我想在共享主机上运行PHP守护进程?

可能是python守护进程?

编辑:我的目标是在互联网(在线)使用自定义协议。

+0

你可以充实你的问题多一点。什么样的共享主机?哪个供应商?你想实现什么? – 2012-07-11 13:25:09

+0

PHP不适合在守护进程模式下运行。 – 2012-07-11 13:25:23

+0

@MarcB关心分享它为什么不是? – fvu 2012-07-11 13:26:52

回答

5

有两个方面这里主要考虑:

  1. 没有共享托管服务提供商允许您运行的守护进程?很可能不是,在这种情况下,cron任务可能是另一种解决方案。
  2. 如何在技术上创建一个守护进程?有一个PEAR package,至少对于Linux来说,可以将脚本转换为守护进程。现在

,一些网络主机提供商甚至不使用外部服务像是一个设置成定时调用网站上的PHP脚本可以被用来作为最后的选择切换托管setcronjob提供cronjobs,在这种情况下。

+0

cron任务可能无法帮助,因为那么PHP守护进程将无法一直听我猜? – ilhan 2012-07-11 13:44:23

+0

@george true,cron脚本不能永久监听,它们不是守护进程的通用替代品,但我仍然想提及它们作为某些用例的替代方案,因为在共享上运行守护程序时可能遇到问题托管包。 – fvu 2012-07-11 13:58:56

1

几乎所有的共享托管站点都会终止运行时间超过一定时间(通常为30秒)的任何​​进程。

你最好的选择可能是一个cron任务,因为这会在每次指定的时候运行脚本一次。这就是说,如果你正在做一些认真需要PHP守护进程的事情,那么你可能应该在共享主机上,并且首先耗尽所有其他选项。

0

如果你可以运行后台任务或Cron作业,你可以运行一个守护进程。他们可能会限制进程可以运行多长时间,但在大多数情况下,如果他们在意这一点,他们不会首先为您提供访问权限。

我建议使用https://github.com/shaneharter/PHP-Daemon而不是System_Daemon。这是一个更好的抽象,并提供了一种真正的方法来在PHP中构建多进程应用程序,而无需亲自将它们拼接在一起。