究竟需要设置PHP Websocket服务器?

时间:2013-06-15 09:07:04

标签: php websocket vps phpwebsocket

我现在正在进入Web套接字,并且已成功使用在线websockets Pusher(不喜欢它)和Scribble(令人惊讶但停机时间过于频繁,因为它只是一个人运行它)。

我在本地主机上遵循了本教程http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/,效果很好!

我想问的是,如何从上面的文件中设置server.php,以便在在线webhost /共享服务器上作为websocket服务器运行?

或者我是否需要获得VPS(如果是这样,你推荐哪一个,我如何在那里设置websocket服务器,因为我之前从未真正使用过VPS!)

非常感谢您阅读我的问题并回答。我已经阅读了关于套接字的所有其他问题/答案,但还没有找到我上述问题的答案。希望我能在这里找到它!

1 个答案:

答案 0 :(得分:4)

这很棘手。

您需要执行server.php脚本,它永远不会退出。如果您具有对共享服务器的SSH访问权限,则可以像在屏幕截图上一样执行它,并使用nohup之类的内容将其作为后台任务运行:

$ nohup php server.php
nohup: ignoring input and appending output to `nohup.out'

调用此项(使用SSH连接)后,您可以退出并继续运行该过程。脚本打印的所有内容都将存储到nohup.out中,您可以随时阅读。

如果您没有SSH访问权限,实际执行PHP脚本的唯一方法是通过Apache作为页面请求的结果,那么您只需使用浏览器转到该页面,而不是关闭浏览器。但是有一天会有一段时间,你和Apache之间的连接将会关闭,从而有效地停止执行server.php脚本。

在之前的案例中,许多共享主机不允许脚本无限期运行。您会注意到server.php中有这一行:

set_time_limit(0);

这告诉PHP没有时间限制。如果主机让PHP运行在safe mode(很多人都这样做),那么你就不能使用set_time_limit,时间限制可能是30秒甚至更短。

所以是的,VPS可能是你最好的选择。现在,我自己并不拥有,我不知道什么是好/坏的价格,但我会说HostGator似乎很好。