Ada*_*nha 6 php vps websocket phpwebsocket
我现在进入Web套接字并且已成功使用在线websockets Pusher(不喜欢它)和Scribble(令人惊讶但停机时间太频繁,因为它只是一个人运行它).
我在本地主机上遵循了本教程http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/,效果很好!
我想问的是,如何从上面的文件中设置server.php作为在线webhost /共享服务器上的websocket服务器运行?
或者我是否需要获得VPS(如果是这样,你推荐哪一个,我如何在那里设置websocket服务器,因为我之前从未真正使用过VPS!)
非常感谢您阅读我的问题和回答.我已经阅读了关于套接字的所有其他问题/答案,但还没有找到我上述问题的答案.希望我在这里找到它!
这很棘手。
您需要执行server.php脚本并且它需要永不退出。如果您有对共享服务器的 SSH 访问权限,则可以像在屏幕截图上一样执行它,并使用以下内容使其作为后台任务运行nohup:
$ nohup php server.php
nohup: ignoring input and appending output to `nohup.out'
Run Code Online (Sandbox Code Playgroud)
调用此方法后(使用 SSH 连接),您可以退出,进程将继续运行。脚本打印的所有内容都将存储到 中nohup.out,您可以随时阅读。
如果您没有 SSH 访问权限,并且实际执行 PHP 脚本的唯一方法是通过 Apache 作为页面请求的结果,那么您可以简单地使用浏览器转到该页面并且永远不要关闭浏览器。但是总有一天会超时,您和 Apache 之间的连接将关闭,从而有效地停止server.php脚本执行。
在之前的那些情况下,许多共享主机不允许脚本无限期运行。你会注意到有这样一行server.php:
set_time_limit(0);
Run Code Online (Sandbox Code Playgroud)
这告诉 PHP 没有时间限制。如果宿主让 PHP 在安全模式下运行(很多人都这样做),那么你不能使用set_time_limit,时间限制可能是 30 秒或更短。
所以是的,VPS 可能是你最好的选择。现在,我自己没有一个,我不知道什么是好/坏价格,但我想说HostGator看起来不错。