PHP连接MYSQL出现每个套接字地址(协议/网络地址/端口)只允许使用一次

小李葛格 2019-06-25 02:32:32
目前是php5.5环境,服务器是win2008,mysql是腾讯的云数据库。php执行如下语句时偶发性报错:


报错内容为:Warning: mysqli_connect() 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

之前已经出现过这个错误,我在服务器内注册表,将MaxUserPort设置为65543,好转过一段时间,目前又出现了这个问题。不知道是哪里没设置好,请各位有经验的兄弟帮忙给个思路。

腾讯那边已经说数据库是没有TCP连接数限制的了




...全文
566 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小李葛格 2019-06-28
  • 打赏
  • 举报
回复
引用 3 楼 智商众筹 的回复:
[quote=引用 2 楼 小李葛格 的回复:] [quote=引用 1 楼 智商众筹 的回复:] mysql的wait_timeout改成60
你好,也是改过了,服务器用cmd执行netstat仍然发现大量的time_wait[/quote] 仔细看了看,我上面回答的方向错了,windows服务器不太懂,查到了TcpTimedWaitDelay这个注册表项,或许有帮助?Linux服务器有net.ipv4.tcp_tw_reuse = 1的端口回收设置,只要单机并发不超6W就不会碰到问题[/quote] 谢谢,我已经解决问题了,使用了负载均衡,用了2台linux服务器,放弃win服务器。现在好得很了
智商众筹 2019-06-27
  • 打赏
  • 举报
回复
引用 2 楼 小李葛格 的回复:
[quote=引用 1 楼 智商众筹 的回复:] mysql的wait_timeout改成60
你好,也是改过了,服务器用cmd执行netstat仍然发现大量的time_wait[/quote] 仔细看了看,我上面回答的方向错了,windows服务器不太懂,查到了TcpTimedWaitDelay这个注册表项,或许有帮助?Linux服务器有net.ipv4.tcp_tw_reuse = 1的端口回收设置,只要单机并发不超6W就不会碰到问题
小李葛格 2019-06-26
  • 打赏
  • 举报
回复
引用 1 楼 智商众筹 的回复:
mysql的wait_timeout改成60
你好,也是改过了,服务器用cmd执行netstat仍然发现大量的time_wait
智商众筹 2019-06-26
  • 打赏
  • 举报
回复
mysql的wait_timeout改成60

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧