我的脚本有时出现问题,通常是在我离开它一段时间(比如5-10分钟)而没有请求时我会收到此错误:
警告:mysqli_connect()[function.mysqli-connect]:MySQL服务器在第30行的FILE.php中已经消失
这是给我错误的代码:
$这 - > DB = mysqli_connect( 'P:'。$这 - > DB_HOST,$这 - > DB_USER,$这 - > db_pwd,$这 - > DB_NAME);
代码包含在单例类中,我目前正在使用
在windows7上进行开发(我使用WampServer 2.0i)但显然我会在最终服务器上使用linux。
感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
连接后是否检查错误?这可能表明需要重新连接。虽然查看文档但是没有办法强制mysqli创建新连接。
你可以在每次调用数据库之前使用mysqli_ping()
来检查服务器,但是如果你有一堆,那就太麻烦了。
如果您管理MySQL服务器或者与管理MySQL服务器保持良好关系,那么另一件事就是增加服务器本身的空闲超时。
个人恕我直言,持久连接在PHP中存在问题,除非你有一个非常高流量的站点,速度的提高还不足以让它值得一试。
答案 2 :(得分:-1)
检查mysql服务器中的超时值,尤其是connect_timeout和wait_timeout。
当连接因超时而关闭时,您需要重新连接 - >这应该由您的申请完成。