我使用this PHP websocket库连接到非安全的websocket服务器。在使用XAMPP的localhost上,它运行正常。我可以使用
创建服务器并使用JavaScript在客户端成功连接到服务器新的WebSocket(' ws://mywebsite.com:80 / dashboard');
但是,现在我想在实时http站点(cpanel共享主机)上创建websocket。我可以访问SHELL但是我无法创建/打开端口,因此我必须使用默认端口80来创建websocket服务器。
现在问题是当在SHELL上执行PHP文件来创建websocket服务器时,我得到了这个错误:PHP Warning: stream_socket_server(): unable to connect to tcp://www.mywebsite.com:80 (Permission denied)
有人知道为什么它说权限被拒绝,因为端口始终是打开的。
$this->context = stream_context_create();
stream_socket_server("tcp://www.mywebsite.com:80", $errno, $err, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $this->context)
我觉得' stream_context_create()'在Socket.php。这是可能的还是你知道我无法创建websocket服务器的其他原因吗?
答案 0 :(得分:0)
默认情况下,1024以下的端口只能由root打开。大多数共享托管服务提供商都不允许root访问。
您可以检查1024以上的端口是否已打开,并在其中一个端口启动服务器。
另一种方法是转移到VPS,您可以在DigitalOcean或甚至AWS(免费套餐实例)中拥有廉价实例