PHP创建websocket导致权限被拒绝

时间:2017-04-22 13:56:37

标签: php websocket permissions denied

我使用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)

  

php public_html/websocket/server.php

有人知道为什么它说权限被拒绝,因为端口始终是打开的。

$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服务器的其他原因吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,1024以下的端口只能由root打开。大多数共享托管服务提供商都不允许root访问。

您可以检查1024以上的端口是否已打开,并在其中一个端口启动服务器。

另一种方法是转移到VPS,您可以在DigitalOcean或甚至AWS(免费套餐实例)中拥有廉价实例