国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

跑了幾個月的接口今天返回Call to a member function prepare() on null~~

eaglexpf

用workerman寫的http接口,在阿里云上面跑了兩個多月;今天的接口突然返回了這個錯誤{"code":500,"message":"Call to a member function prepare() on null"};最重要的是我把workerman重啟后就沒啥問題了;求原因,求思路~~

14226 6 0
6個回答

walkor 打賞

沒看到哪個報錯文件及哪一行,不好確定原因

  • 暫無評論
wazsmwazsm

要調(diào)用 prepare 但是調(diào)用該方法的對象為 null,如果你是用的官方的 mysql 組件,那么這個錯應該是 pdo 對象不存在導致的???mysql 組件代碼的話,如果斷線的話,會進行一次重連,調(diào)用了 closeConnection() 方法和 connect() 方法。如果 connect() 方法創(chuàng)建 pdo 對象失敗的話, $this->pdo 屬性則為 null (closeConnection 的調(diào)用), 然后導致了這個錯誤。

至于為什么斷線、為什么連接會失敗,就看你的實際情況了,可能是你沒用單例導致 mysql 數(shù)據(jù)庫連接太多被拒絕等等...都有可能。

  • 暫無評論
智佳思遠

官網(wǎng)的mysql類創(chuàng)建pdo對象失敗是會拋異常的,所以不會再調(diào)用到prepare。

  • 暫無評論
智佳思遠

哦,又看了下,有個closeConnectin方法

public function closeConnection()
{
    $this->pdo = null;
}

如果調(diào)用了這個,然后繼續(xù)調(diào)用這個實例就會報錯了

  • 暫無評論
defeatlr

我也碰到這個問題了,我是定時器定時寫MYSQL,如果手動調(diào)用了closeConnection方法關(guān)閉連接,就會出現(xiàn)這個問題,現(xiàn)在只能暫時把這個去掉了,不知道不關(guān)閉會不會有影響

  • 暫無評論
eaglexpf

mysql數(shù)據(jù)庫被關(guān)掉一段時間后重新啟動,就會出現(xiàn)這個問題~~

用的官方組件
下面是出異常的地方

[attach]947[/attach]

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??