問題: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中文網其他相關文章!