gpt4 book ai didi

php - 设置 PHP Websocket 服务器究竟需要什么?

转载 作者:可可西里 更新时间:2023-11-01 13:24:30 25 4
gpt4 key购买 nike

我现在正在接触 Web 套接字,并且已经成功地使用了在线 web 套接字 Pusher(不喜欢它)和 Scribble(很棒,但是停机时间太频繁了,因为只有一个人在运行它)。

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

我想问的是,如何将上述文件中的 server.php 设置为在在线网络主机/共享服务器上作为 websocket 服务器运行?

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

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

最佳答案

这很棘手。

您需要执行 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看起来不错。

关于php - 设置 PHP Websocket 服务器究竟需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com