我已经在Ratchet PHP中创建了一个聊天应用程序。使用WAMP在本地计算机上运行良好。我希望它在实时服务器上安装。
在我的服务器上,我有:
我没有的东西:
iptables
我运行了php server.php
,它给出了有关服务器的成功消息,并且正在侦听端口9000。但是,当HTML页面尝试使用ws:// domain:9000进行连接时,它将遇到错误-
Firefox无法在以下位置建立与服务器的连接WS://domain.com:9000 /
我用Google搜索了很多,看来我需要的是入站连接的端口。
但是根据this answer,我需要的是PHP支持Ratchet在共享主机上工作。谁能解释我的真正需求,并且有任何解决方法,如果服务器上我没有的东西列表中没有该方法。
共享主机环境(即具有VirtualHost配置,Apache,PHP,MySQL和CPanel接口的Apache)不太可能支持您的websocket应用程序。
要使websocket正常工作,您需要执行以下任一操作:
第一条路由要求服务器允许入站连接到某个端口号。对于主机提供商来说,这是一个潜在的安全问题,因此,您的供应商不太可能授予您该权限。
第二条路由要求Apache服务器同时安装并启用mod_proxy和mod_proxy_wstunnel。它还要求您使用ProxyPass配置,该配置不能完全被.htaccess
配置覆盖。
因此,除非您的托管向您授予触摸Apache主要配置的权限(否则将为您应用此类更改,否则您将毫无希望。)>
要运行您自己的websocket服务,您应该考虑使用虚拟专用服务器服务,例如Amazon EC2,DigitalOcean VPS。