首頁  >  文章  >  資料庫  >  為什麼我的 PHP MySQL 連線在 60 秒後逾時?

為什麼我的 PHP MySQL 連線在 60 秒後逾時?

Linda Hamilton
Linda Hamilton原創
2024-11-21 20:59:11249瀏覽

Why Does My PHP MySQL Connection Timeout After 60 Seconds?

問題:60 秒後MySQL 伺服器連線逾時,錯誤「MySQL 伺服器已消失- 剛好60 秒內」

所描述的問題源自於與PHP 選項mysql.connect_timeout 相關的逾時。此選項不僅影響連線逾時,還影響從 MySQL 伺服器接收第一個回應所需的時間。

根本原因:

mysql.connect_timeout 選項預設通常設定為 60 秒。當 PHP 腳本在 MySQL 伺服器上執行的查詢時間超過 60 秒時,PHP 腳本將會逾時並拋出「MySQL 伺服器已消失」錯誤。

解決方案:

要解決此問題,請將 mysql.connect_timeout 選項增加到大於查詢的預期執行時間的值。這將允許 PHP 腳本在逾時之前等待更長的時間來等待伺服器的回應。

您可以在PHP 腳本中使用ini_set() 函數修改mysql.connect_timeout 選項:

ini_set('mysql.connect_timeout', 300); // Set to 300 seconds
ini_set('default_socket_timeout', 300); // Set the socket timeout to match the connect timeout

透過增加mysql.connect_timeout選項,可以有效延長伺服器回應的等待腳本接收MyMy時間,從而防止“MySQL伺服器已消失”錯誤。

以上是為什麼我的 PHP MySQL 連線在 60 秒後逾時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn