首先,我可以看到已经解决了围绕该问题的问题。
socket_bind():无法绑定地址 [99](Amazon EC2 上的 Ubuntu)
和许多其他资源,他们都说问题是在使用的端口或外部IP等。
但我无法克服它。我的服务器在 CentOS 6.3 上运行并使用 CPanel(它是 HP 服务器https://www.hpcloud.com/)。
我得到的网络套接字演示源代码位于https://code.google.com/p/phpwebsocket/
我的设置是
$master = WebSocket("127.0.0.1",4444); // even I tried with localhost, they worked same
这是我尝试的步骤和相应的错误:
1/。我尝试了以下命令以确保我正在使用的端口可供使用
$ lsof|grep 4444 $ netstat -a -p -n
但是我总是得到错误,虽然这个端口 4444 是免费的
警告:socket_bind():无法绑定地址 [98]:地址已在第 60 行的 /home/myapp/public_html/websocket/server.php 中使用
2/。奇怪的是当我检查正在使用的端口 835
crond 1621 root DEL REG 252,1 39835 /lib64/libpam.so.0.82.2.#prelink#.B1eyGx
atd 1633 root DEL REG 252,1 39835 /lib64/libpam.so.0.82.2.#prelink#.B1eyGx
有趣的事情发生了:
然后我在终端命令 shell 上运行 server.php
php /home/myapp/public_html/websocket/server.php
错误已经消失,而不是
服务器启动时间:2013-08-16 03:19:54
主套接字:资源 ID #4
监听:127.0.0.1 端口 835
我以为它开始工作了,但实际上并没有,因为当我server.php
通过浏览器打开 URL时
http://mysite/server.php
错误是“权限被拒绝”
警告:socket_bind() [function.socket-bind]: 无法绑定地址 [13]: Permission denied in /home/myapp/public_html/websocket/server.php on line 60 socket_bind() failed
编辑:关于权限,我可以在与 server.php 相同的级别目录中打开 client.html 没有问题。文件夹代码权限为 755,用户不是 root。我所有的命令都是在 root 权限下实现的
任何帮助是极大的赞赏 :(