workerman+tp5的错误问题怎么解决
ThinkPHP  /  管理员 发布于 7年前   197
workerman+tp5的错误问题怎么解决?thinkphp5+workerman 报错问题
在thinkphp5.0.X版本早期会遇到长时间开启workerman服务会报错,在thinkphp5.0.24版本已经修复。原因是因为长时间链接数据库,导致数据库断线。
推荐:《Workerman教程》
解决的方案:
1、修改数据库配置database.php文件,将break_reconnect参数设置为true。断线重连。
// 是否需要断线重连'break_reconnect' => true,
2、修改 /library/think/db/Connection.php中的isBreak函数,替换为以下最新的isBreak函数。
/** * 是否断线 * @access protected * @param \PDOException|\Exception $e 异常对象 * @return bool */ protected function isBreak($e) { if (!$this->config['break_reconnect']) { return false; } $info = [ 'server has gone away', 'no connection to the server', 'Lost connection', 'is dead or not enabled', 'Error while sending', 'decryption failed or bad record mac', 'server closed the connection unexpectedly', 'SSL connection has been closed unexpectedly', 'Error writing data to the connection', 'Resource deadlock avoided', 'failed with errno', ]; $error = $e->getMessage(); foreach ($info as $msg) { if (false !== stripos($error, $msg)) { return true; } } return false; }
3、将/library/think/db/connector/Mysql.php中的isBreak函数删除或者注释掉。
修改完后,workerman长时间链接数据库,数据库断开会重连。
以上就是workerman+tp5的错误问题怎么解决的详细内容,更多请关注其它相关文章!
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号