php连接mysql超时的解决方法

发布时间:2019-11-13编辑:脚本学堂
问题:php连接mysql读写数据,过一天就不work了。 经查发现mysql connection默认的超时时间为8小时。如果想让这个连接永久不超时,该怎么办呢?
问题:
php连接mysql读写数据,过一天就不work了。
经查发现mysql connection默认的超时时间为8小时。如果想让这个连接永久不超时,该怎么办呢?
有朋友说在mysql配置文件my.cfg中[mysqld]中添加
wait _timeout =31536000  (这里的这个数字的单位是秒,31536000秒=365天,这也是可设置的最大值)
 
这个办法不是最好的,因为这个"一年" != 永久..如何才能让该连接永久不超时呢?
 
比较完美的解决方法:
复制代码 代码如下:
function reconnect(){ 
    if (!mysql_ping ($this->db)) { 
        //here is the major trick, you have to close the connection (even though its not currently working) for it to recreate properly. 
        mysql_close($this->db); 
        $this->connect(); 
    } 
}  
 
其中的mysql_ping()用来判断连接是否已经被断开了,若是断开了,关闭当前的链接,重新创建新的连接。
这样,只要发现连接被断开了,即可重新连接了。