提示 :MySQL server has gone away

前行

workerman/redis-queue 以守护进程的形式运行提示 :MySQL server has gone away

在debug 模式下则正常.

mysql wait_timeout 已调整到最大。

php 框架 codeigniter3

363 1 0
1个回答

walkor

因为数据库在Worker::runAll()执行前被初始化导致的。初始化后的连接被子进程共享,变成守护过程中有进程会执行退出mysql连接会断开,导致其它进程受到影响。

不要在Worker::runAll()执行前初始化数据库连接 redis等资源的连接。这部分手册有说。

  • 前行 2024-05-30

    这个怎么去解决?, codeigniter3 这个框架用的比较少。

  • walkor 2024-05-30

    我也没用过codeigniter

×
🔝