求助! mysql 突然断开 PHP 重新连接无效的问题

2016-12-12 17:14:42 +08:00
 xcloud
function mysql_(){
  $con=mysql_connect("localhost","root","xxxx");
  if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db("xxx", $con);
  return $con;
  }
  $con=mysql_();
  do(
  //插入数据代码
  if(mysql_error()=="MySQL server has gone away"){
   mysql_close($con);
   $con=mysql_();
   echo "Reconnect\n";
  }
usleep(400000);
  )while(true);
  

经常就是运行一个小时左右(时间不定)就断开了 显示 MySQL server has gone away ,应该不是超过了空闲时间,因为没到 8 个小时而且一直在写入数据。 我如上重新连接无效,还是一直显示 MySQL server has gone away ,断开可以肯定是 mysql 闪断了,因为这个 php 是收集数据的,我用 nodejs 广播数据,和 php 一起断开。 nodejs 检测重连已经解决, php 一直没解决,重连的判断是正确的,已经重连也没有提示连接错误,就是一直输出MySQL server has gone away,请问我这样写是否有什么错误呢?

2048 次点击
所在节点    PHP
2 条回复
tsotsi
2016-12-13 02:09:48 +08:00
一旦连接失败就 die,循环也没有
kungfuchicken
2016-12-13 10:07:14 +08:00
你可以用 mysql_ping 函数来重连
http://php.net/manual/en/function.mysql-ping.php

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/327104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX