进入deamon模式后数据库报Error while sending QUERY packet

zanedeng

用debug模式运行时没有任务问题,但是只要进入deamon模式,
mysql就会报> mysql_select_db Error while sending INIT_DB packet.
PDO会报> Error while sending QUERY packet.
请指教

3360 2 0
2个回答

walkor

你的问题可能是在主进程中初始化了数据库连接,主进程fork的子进程继承了这个数据库连接,这样会导致mysql 返回数据时多个子进程对这个mysql连接都可读,导致数据库异常。

把业务编码都在onXXX回调中编码(包括初始化数据库连接),不要在主进程编码就好了。手册中有强调这个问题。

  • 暂无评论
zanedeng

谢谢解决了

  • 暂无评论
年代过于久远,无法发表回答
🔝