最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

workerman引入db类错误怎么办

来源:懂视网 责编:小采 时间:2020-11-03 18:21:46
文档

workerman引入db类错误怎么办

workerman引入db类错误怎么办:为了更高效的服务器访问速度,我们会使用mysql 或者其他数据库的长连接 来提高访问速度,以下内容以mysql pdo 为例:问题:在cli 常驻内存的情况下,会有许多情况造成创建的连接失效;解决方法:在访问数据库的时候加上 try catch 捕获捕获到错误是 20
推荐度:
导读workerman引入db类错误怎么办:为了更高效的服务器访问速度,我们会使用mysql 或者其他数据库的长连接 来提高访问速度,以下内容以mysql pdo 为例:问题:在cli 常驻内存的情况下,会有许多情况造成创建的连接失效;解决方法:在访问数据库的时候加上 try catch 捕获捕获到错误是 20

为了更高效的服务器访问速度,我们会使用mysql 或者其他数据库的长连接 来提高访问速度,

以下内容以mysql pdo 为例:

问题:

在cli 常驻内存的情况下,会有许多情况造成创建的连接失效;

解决方法:

在访问数据库的时候加上 try catch 捕获

捕获到错误是 2006 或者 2013 的时候 表示连接失效 这时候 重新连接数据库,以保证程序正常运行;

// 在和数据库交互的地方加上try catchpublic function Init($query)
 {
 try{
 // todo 这里是操作数据库的逻辑
 }catch (Exception $e) {
 if ( $e->errorInfo[1] === 2006 || $e->errorInfo[1] === 2013 ) {
 // todo 下面填写 或者调用连接数据库的代码
 $dsn = 'mysql:dbname=' . $this->settings["dbname"] . ';host=' . $this->settings["host"] . '';
 $this->pdo = new PDO($dsn, $this->settings["user"], $this->settings["password"], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8;"));

 $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 $this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
 return true;
 }
 }
 }

var_dump($e->errorInfo); 的值

array(3) {
 [0]=>
 string(5) "HY000"
 [1]=>
 int(2006)
 [2]=>
 string(26) "MySQL server has gone away"}

更多workerman知识请关注PHP中文网workerman教程栏目。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

workerman引入db类错误怎么办

workerman引入db类错误怎么办:为了更高效的服务器访问速度,我们会使用mysql 或者其他数据库的长连接 来提高访问速度,以下内容以mysql pdo 为例:问题:在cli 常驻内存的情况下,会有许多情况造成创建的连接失效;解决方法:在访问数据库的时候加上 try catch 捕获捕获到错误是 20
推荐度:
标签: 失败 错误 解决
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top