设置 PHP Websockets

设置 PHP Websockets

我使用 PHP Web 套接字编写了一个游戏,该游戏在我的本地开发服务器上运行良好。我现在尝试在非本地服务器上运行 Web 套接字服务器,但我的客户端 JavaScript 无法连接。我尝试在全新安装的 Ubuntu Server x64 上执行此操作 - 我已经安装了 apache2、php5,并确保启用了 PHP 套接字扩展;该服务器对于非 Web 套接字用途运行良好。

我是否遗漏了某个配置设置?我尝试关闭防火墙(通过ufw disable)。如能提供任何线索,我将不胜感激。

编辑

这是我正在使用的 PHP 库:https://github.com/Flynsarmy/PHPWebSocket-Chat

我意识到我实际上并不需要 Apache 来完成我正在做的事情 - 我只需要 PHP 接受和解释传入的请求。有没有办法确保我的 PHP 程序可以访问所有传入的请求?

答案1

您是否在使用 Apache 模块进行 websocket 通信?有不少 PHP websocket 服务器可供您尝试。以下是一些:http://www.spoutserver.com/http://code.google.com/p/phpwebsocket/http://socketo.me/。如果你仔细看看,还会发现更多。如果你提供有关环境和实施的更多详细信息,帮助会更容易。

更新:

更改第 62 行https://github.com/Flynsarmy/PHPWebSocket-Chat/blob/master/server.php

$服务器->wsStartServer('0.0.0.0', 9300);

或者将 IP 改为外部 LAN IP 即可。更改后重新启动 server.php。

答案2

据我所知,Ubuntu 提供的 Apache 软件包不支持 websockets,并且 Precise Pangolin 中没有mod_websocket.so包含Apache 模块提供对 websockets 的支持。您需要手动安装该模块,或者更改生产环境以使用与开发环境相同的 web 服务器。

相关内容