位置: 编程技术 - 正文
推荐整理分享PHP连接MySql闪断自动重连的方法(php mysql连接),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php连接mysql的步骤代码,php连不上mysql数据库,php连不上mysql数据库,php连接mysql8.0,php7 mysql连接,php连接mysql8.0,php mysqli连接数据库,php连接mysql失败,内容如对您有帮助,希望把文章链接给更多的朋友!
使用php作为后台运行程序(例如短信群发),在cli模式下执行php,php需要连接mysql循环执行数据库处理。
当mysql连接闪断时,之后循环的执行将会失败。
我们需要设计一个方法,当mysql闪断时,可以自动重新连接,使后面的程序可以正常执行下去。
1.创建测试数据表
2.插入测试数据
3.后台运行的php文件
db.php
test.php
4.执行步骤
在php cli模式下执行test.php,然后马上执行mysql.server stop 与 mysql.server start 模拟闪断
可以看到,闪断后不能重新连接数据库,后面的程序不能执行下去。
5.增加重连机制
闪断后,因为 self::$_instance 的值存在,因此调用get_conn并不会重新连接,而是使用保存的连接进行处理。
这样实际上是当连接存在时,不需要再次创建mysql连接,减少mysql连接数。
所以需要在闪断后,清空self::$_instance的值,使下次重新获取连接,而不使用已经创建但失效的数据库连接。
改进方法如下:
增加reset_connect方法,当出现错误时调用。如果判断错误是MySQL server has gone away则清空已经存在的数据库连接,清空后下次则会重新连接mysql。
修改后的php文件如下:
db.php
6.再次进行闪断执行
可以看到改进后的效果,闪断后,当前执行的会失败,但之后的可以重新创建新连接继续执行下去。
以上所述是小编给大家介绍的PHP连接MySql闪断自动重连的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
MySQL 视图的基础操作(五) 1.为什么使用视图:为了提高复杂SQL语句的复用性和表操作的安全性(例如:工资字段不想展示给所有能查看该查询结果的人),MySQL提供了视图特性。
MySQL 触发器的基础操作(六) 1.为什么使用触发器:在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构,而数据库对象触发器则用来实现由一些表事件触发的某个操作。在
CentOS7.2虚拟机上安装MySQL 5.6.的教程 1、MySQL5.6.位安装包下载在官网
标签: php mysql连接
本文链接地址:https://www.jiuchutong.com/biancheng/348265.html 转载请保留说明!上一篇:mysql 索引的基础操作汇总(四)(mysql索引方式有哪些)
下一篇:MySQL 视图的基础操作(五)(mysql视图语句)
友情链接: 武汉网站建设