环境:

  本地 win10 + php7.1nts + nginx1.2

  阿里云 CentOS7.6 + php7.1nts + nginx1.2

 

  在本地测试 socket 时,服务端设置IP地址:127.0.0.1,客户端IP是:127.0.0.1 是正常运行的;放到公网服务器后,服务端、客户端IP地址都改为了公网IP地址,结果一直报错:PHP Warning:  socket_bind(): unable to bind address  ;此问题引起错误原因大概是:

  1、端口被占用了
  2、端口处于TIME_WAIT状态
  3、IP写错了

端口号是已经加入到了安全组,但还是不可用。

 

解决方法:

  在阿里云上的 ECS 实例是有两个IP地址的,一个是公网地址,一个是内网地址,将服务端的IP地址填写阿里云给的内网地址,客户端IP地址填写阿里云给的公网地址,再次测试可以正常运行了。

 

 

 

参考:

  https://segmentfault.com/q/1010000004403165/a-1020000004403605

  https://www.php.cn/php-weizijiaocheng-101104.html

 

有道词典

PHP Warning:  s …

详细X

PHP警告:socket_bind():无法绑定地址

版权声明:本文为koreyoshi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/koreyoshi/articles/12011399.html