`

(php) mysql连接超时问题的解决.

 
阅读更多

最近遇到了一个非常奇怪的问题,php往mysql中读写数据,过一天就不work了.一直不能求解,指导有一天,有人对我说mysql 连接可能会超时.

google了一下,发现mysql connection默认的超时时间为8小时.当时我想让我的这个连接永久不超时,该怎么办呢?

有人说在mysql配置文件my.cfg中[mysqld]中添加

 

wait _timeout =31536000  (这里的这个数字的单位是秒,31536000秒=365天,这也是可设置的最大值)

 

这个解决办法不是最好的,因为这个"一年" != 永久..如何才能让该连接永久不超时呢?

 

然后,我继续google....

 

最后找到了我需要的答案,非常优雅的方式:

 

    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()用来判断连接是否已经被断开了,若是断开了,关闭当前的链接,重新创建新的连接.

 这样,只要发现连接被断开了,即可重新连接了.

 

 

参考: http://php.net/manual/en/function.mysql-ping.php

 

 

 

分享到:
评论

相关推荐

    mysql.class.php.zip_mysql.class.php_php mysql class

    8. **配置选项**:类库可能允许用户自定义配置,如连接超时时间、字符集等,这可能通过构造函数或 `setConfig()` 方法实现。 在使用此类库时,开发者需要先创建类的实例,然后调用相应的方法进行数据库操作。例如:...

    基于PHP的SMProxy(MySQL数据库连接池).zip

    【标题】"基于PHP的SMProxy(MySQL数据库连接池)"是一个使用PHP编写的数据库连接池解决方案,它旨在优化和管理MySQL数据库的多个并发连接。在Web应用开发中,尤其是高并发场景下,数据库连接的创建和关闭频繁进行,这...

    基于PHP的SMProxy(MySQL数据库连接池)源码.zip

    8. 性能优化:除了基本功能外,SMProxy可能还包含了一些性能优化策略,如连接预热、连接超时设置、最小和最大连接数限制等,以确保在保证服务稳定性的同时,最大化资源利用率。 通过深入研究SMProxy的源代码,开发...

    PHP超时处理全面总结.docx

    - `fastcgi.server.timeout`:FastCGI连接超时 - `fastcgi.server.max-procs`:最大FastCGI进程数 - `fastcgi.server.close-on-exec`:在执行新的子进程时关闭旧的FastCGI连接 - `fastcgi.server.connect_time...

    mysql的连接数据问题

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它以其高效、稳定和易于管理的特点在Web开发领域占据着重要...理解并掌握这些知识点,有助于我们在遇到问题时快速定位并解决问题,确保数据库的稳定运行。

    ( CentOS 6.0 系统 LAMP(Apache+MySQL+PHP)安装.OK

    - 调整MySQL的配置以优化性能,例如调整缓存大小和连接超时。 - 定期更新和维护所有组件以确保安全性。 LAMP组合因其开源、免费、稳定和可扩展性而受到开发者喜爱。对于初学者,安装和配置LAMP环境是学习Web开发...

    win+iis6+php+gd2+mysql安装配置_php.pdf

    使用PHP脚本测试与MySQL的连接是否成功。例如: ```php <?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password)...

    win2003+iis6+php+gd2+mysql安装配置_php.pdf

    4. **测试MySQL连接** - 使用命令行工具或图形界面工具(如phpMyAdmin)测试MySQL的连接。 通过以上步骤,您已经在Windows 2003和IIS6上成功安装和配置了PHP、GD2和MySQL。接下来,您可以开始部署基于PHP的应用...

    mysql_bakup_tool.zip_tool

    "mysql_bakup_tool.zip_tool"是一个基于PHP的MySQL数据库分卷备份工具,它提供了方便的方式来对大型数据库进行分段备份,以解决单个大文件备份可能导致的问题,如超时、存储限制等。 **一、分卷备份** 分卷备份是...

    MySql连接数据库(方法、代码、用到的所有组件)

    以下是对MySQL连接数据库涉及的知识点的详细说明: 1. **连接方式**: - **命令行客户端**:这是最基础的连接方式,通过MySQL的命令行界面输入SQL语句与数据库交互。 - **图形化界面工具**:如MySQL Workbench、...

    MySQL数据库连接语句

    下面是一些常用的MySQL连接字符串格式: 1. **ODBC连接字符串**: ``` Driver={MySQL ODBC 8.0 Unicode Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword; ``` 其中,...

    MySQL数据库:Navicat连接和管理数据库.pptx

    这款是用PHP编程语言开发的基于web方式的网页版MySQL图形化管理工具,支持中文、界面友好、简洁,方便管理,但是对于数据量大的操作容易导致页面请求超时。; 本地服务器 选程服务器;创建 修改 删除 ;Navicat连接...

    PHPMySQL.rar_phpmysql

    - 连接超时:设置合适的连接超时时间,如`mysqli_options`的MYSQLI_OPT_CONNECT_TIMEOUT。 - 数据库性能:优化SQL查询,合理设计数据库表结构,使用索引,避免全表扫描。 - 错误处理:记录错误日志,提供用户友好...

    解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)

    您可能感兴趣的文章:C#访问SqlServer设置链接超时的方法SQL查询超时的设置方法(关于timeout的处理)Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)PHP访问MySQL查询超时处理的方法SQL语句执行

    php+mysql网站登录系统.rar_6G1_MYSQL_naturemut_php_登录

    首先,我们来看`conn.php`,这是连接到MySQL数据库的文件。在这个文件中,通常会包含数据库的连接参数,如服务器地址、用户名、密码和数据库名。开发者会使用PHP的`mysqli`或`PDO`扩展来建立和管理数据库连接。例如...

Global site tag (gtag.js) - Google Analytics