php 腳本因 broken pipe 錯誤而中止
你曾遇到過類似于“mysqli_query(): send of 309 bytes failed with errno=32 broken pipe”這樣的錯誤嗎?這個問題令人煩惱,并且會中斷你的腳本。
為什么會發生 broken pipe 錯誤?
broken pipe 錯誤通常是因為 php 腳本與 mysql 服務器之間的連接由于長時間未操作而被關閉。當腳本再次嘗試通過已關閉的連接執行查詢時,就會導致錯誤。
立即學習“PHP免費學習筆記(深入)”;
如何修復 broken pipe 錯誤?
要解決 broken pipe 錯誤,你可以嘗試以下方法:
- 檢查 mysql 服務器的 wait_timeout 參數。這個參數定義了非交互連接在沒有活動后會被關閉的時長。根據需要將它設為一個較大的值,例如:
set global wait_timeout = 1000;
- 在腳本中使用 mysqli_ping() 函數。這個函數用于檢查連接是否活動。如果連接已經斷開,你可以重新連接:
if (!mysqli_ping($conn)) { // 斷開連接 mysqli_close($conn); // 重新連接 $conn = mysqli_connect($host, $user, $password, $database); }
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦