看webman 日志一直提示這個(gè)報(bào)錯(cuò)。不知道是什么原因。
這樣我也不知道你是啥,就懂是mysql的問(wèn)題,你具體下,代碼什么的,貼下
Db::table('apps')->select('app_key','app_passwd','app_status','app_limit','uid','allow_ips')->where('app_key', $app_key)->first(); 就是偶爾會(huì)出現(xiàn)這個(gè)報(bào)錯(cuò)。
這個(gè)報(bào)錯(cuò)的時(shí)候,然后寫(xiě)個(gè)日志,打印下,mysql的原生sql語(yǔ)句,然后去數(shù)據(jù)庫(kù)執(zhí)行下,就明白是什么問(wèn)題了,一般是where的$app_key的問(wèn)題吧
where app_key
= AEocccqrl3335UF4GtbXEMzbrjkSub1Fjo limit 1 報(bào)錯(cuò)的SQL 語(yǔ)句里面 app_key 都沒(méi)帶單引號(hào)。但是我測(cè)試的時(shí)候每次傳遞過(guò)去的值都是一樣的。很奇怪。
->where('app_key', $app_key)->first(); 改成 ->where('app_key','"'. $app_key.'"')->first(); 這樣?正常where都會(huì)加上單引號(hào)的啊,你是用那個(gè)db插件包的
Connection was killed
應(yīng)該優(yōu)先看數(shù)據(jù)庫(kù)側(cè)的日誌吧?
另外配合你說(shuō)的場(chǎng)景,偶爾出現(xiàn),是否長(zhǎng)時(shí)間沒(méi)操作被數(shù)據(jù)庫(kù)kill了鏈接?
webman上是長(zhǎng)連接來(lái)的,但數(shù)據(jù)庫(kù)有個(gè)自動(dòng)終端閒置鏈接,比方連上後一直沒(méi)操作,然後數(shù)據(jù)庫(kù)側(cè)就kill了。當(dāng)需要查詢(xún)時(shí)候使用被kill的鏈接就會(huì)出錯(cuò)。
我記得之前webman是通過(guò)定時(shí)器執(zhí)行select 1來(lái)?;畹?。