PDOException: SQLSTATE[70100]: <<Unknown error>>: 1927 Connection was killed

talentstone

看webman 日志一直提示这个报错。不知道是什么原因。

97 3 0
3个回答

owenzhang

这样我也不知道你是啥,就懂是mysql的问题,你具体下,代码什么的,贴下

  • talentstone 6天前

    Db::table('apps')->select('app_key','app_passwd','app_status','app_limit','uid','allow_ips')->where('app_key', $app_key)->first(); 就是偶尔会出现这个报错。

  • owenzhang 6天前

    这个报错的时候,然后写个日志,打印下,mysql的原生sql语句,然后去数据库执行下,就明白是什么问题了,一般是where的$app_key的问题吧

  • talentstone 6天前

    where app_key = AEocccqrl3335UF4GtbXEMzbrjkSub1Fjo limit 1 报错的SQL 语句里面 app_key 都没带单引号。但是我测试的时候每次传递过去的值都是一样的。很奇怪。

  • owenzhang 6天前

    ->where('app_key', $app_key)->first(); 改成 ->where('app_key','"'. $app_key.'"')->first(); 这样?正常where都会加上单引号的啊,你是用那个db插件包的

  • talentstone 6天前

    用的webman 自带的那个。

  • talentstone 6天前

    我感觉这个报错可能是出在mariadb 上,是mariadb 主动关闭了连接。

  • owenzhang 6天前

    你换成mysql试下

  • talentstone 6天前

    好的,多谢。我这边试下。

nitron

MariaDB? 如果是的话,换MySQL

MarkGo

Connection was killed
應該優先看數據庫側的日誌吧?

另外配合你說的場景,偶爾出現,是否長時間沒操作被數據庫kill了鏈接?
webman上是長連接來的,但數據庫有個自動終端閒置鏈接,比方連上後一直沒操作,然後數據庫側就kill了。當需要查詢時候使用被kill的鏈接就會出錯。
我記得之前webman是通過定時器執行select 1來保活的。

  • 暂无评论
🔝