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)