php 多进程下mysql连接 gone away
来源:互联网 发布:mac 安全模式 编辑:程序博客网 时间:2024/06/03 12:14
php 在命令行模式下启动多进程如果父进程有sql查询,可能会导致子进程里面的sql查询 报错 General error: 2006 MySQL server has gone away
当fork的子进程都共用相同的mysql连接的时候,会出现该错误,每个子进程单独一个mysql连接即可解决。
解决办法:在子进程执行之前,先把mysql的连接close即可。
$db = \Yii::$app->getDb();$bizs = $db->createCommand("select xx from xxx where status = 0")->queryAll();foreach ($bizs as $biz) { $biz = $biz['biz']; // 创建子进程 $pid = pcntl_fork(); if ($pid == -1) { // 返回值为-1,创建失败 die('could not fork'); } elseif ($pid) { // 返回值大于0,是父进程 echo "parent \t", date("H:i:s", time()), "\n"; } else { // 返回值等于0,是子进程 echo "child \t", date("H:i:s", time()), "\n"; try{ \Yii::$app->db->close();// solve 子进程 MySQL server has gone $this->run($biz); }catch (Exception $e){ var_dump($e); } }}\Yii::$app->db->close();// solve 主进程 MySQL server has gone
阅读全文
0 0
- php 多进程下mysql连接 gone away
- PHP Pdo MySQL Server has gone away
- win32 下 MySQL server has gone away
- MySQL has gone away
- mysql has gone away
- mysql has gone away
- mysql gone away解决方案
- MYSQL 的重新连接错误:MySQL server has gone away
- mysql连接报错 '2006, MySQL server has gone away'
- perl连接mysql 报错 MySQL server has gone away
- 解决PHP脚本 MySQL has gone away错误
- PHP MySQL server has gone away问题以及解决方案
- php yii2跑数出现mysql-gone-away-2006解决
- MySQL server has gone away
- MySQL server has gone away
- mysql has gone away 问题
- MySQL server has gone away
- MySQL server has gone away
- Spring DAO(2):Spring JDBC 访问数据库
- MFC对话框操作
- MFC对话框编程之控件删除
- 在django中使用django_debug_toolbar
- Centos 7 MariaDB 数据库服务安装及配置
- php 多进程下mysql连接 gone away
- 多版本python下依赖库的管理
- Linux的命令行
- MFC界面分屏操作
- 36. Valid Sudoku
- [大数据基础-junit]junit4入门基础
- Spring DAO(3):Spring 事务管理
- java插入排序算法2
- ARM编程模式和7种模式