0
由於「連接太多」,PHP mysql_connect有時會失敗。 當檢查進程狀態列表時,我注意到當發生這種情況時,有非常長的處於睡眠狀態的進程。多久?時間:28490連接太多由於許多睡眠連接導致錯誤
這是我如何初始化連接:
$this->connection[$server] = mysql_connect($credentials['dbUrl'], $credentials['dbUser'], $credentials['dbPass'], true);
這不會發生的事情,只是有時候會連接獲得「卡住」。我認爲它可能與頁面上的某些內容沒有完成(圖像未加載?外部服務卡住?)有關。什麼時候腳本正式完成?它是在頁面完全加載之後嗎?
我想過兩種可能的解決方案: 1.使用mysql_close。 2.更改最大MySQL超時(/etc/my.cnf
) 3.處理腳本超時。
什麼原因會導致連接陷入「睡眠」? 您如何建議解決/進一步調查問題?
由於它似乎是PHP,當腳本完成時應該釋放連接,完全獨立於圖像和其他嵌入式內容加載。如果你的PHP腳本掛起,連接仍然存在。 –
@JoachimIsaksson什麼會導致PHP腳本掛起? – Noam
有很多原因,通常是一個永不終止的循環,或者等待一些從未真正發生的外部事件發生。 –