PHP 腳本出現 mysqli_query() Broken Pipe 錯誤:如何解決連接中斷問題?

PHP 腳本出現 mysqli_query() Broken Pipe 錯誤:如何解決連接中斷問題?

php 腳本出現 mysqli_query() broken pipe 錯誤的原因和解決方法

你在使用 php 編寫常駐內存隊列處理腳本時遇到了 mysqli_query() 錯誤,提示 broken pipe。這表明服務器與數據庫之間的連接中斷。

造成此錯誤的原因可能是服務器端關閉了連接,因為腳本長時間處于無操作狀態。雖然你已調整 max_allowed_packet 參數,但這似乎并不是問題的根源。

解決方案:

立即學習PHP免費學習筆記(深入)”;

  1. 檢查并調整 wait_timeout 參數:

    • 登錄 mysql 服務器并使用以下命令檢查 wait_timeout 參數的當前設置:

      show variables like 'wait_timeout';
    • 將 wait_timeout 值增加到一個更合適的時間,例如 600 秒。
  2. 處理連接斷開:

    • 在你的 php 腳本中,添加代碼來處理連接斷開:

      if (!mysqli_ping($conn)) {     // 斷開連接     mysqli_close($conn);      // 重新連接     $conn = mysqli_connect($host, $user, $password, $database); }

      請注意:替換 $host、$user、$password 和 $database 變量為你的數據庫連接信息。

  3. 其他建議:

    • 確保數據庫服務器和 php 腳本運行在同一臺機器上。
    • 檢查你的網絡連接是否存在問題。
    • 嘗試使用不同的 mysql 客戶端(例如 mysql 命令行工具)。

通過調整這些設置,你應該能夠避免 broken pipe 錯誤。

以上就是PHP 腳本出現

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享