我正在使用WAMP(Apache 2.2.11,MySQL 5.1.36,PHP 5.3.0)編寫一個PHP Web應用程序,該應用程序有一個到MySQL數據庫的鏈接。mysql服務器已經消失 - 沒有超時錯誤或崩潰
我運行一個程序,需要大約2分鐘在蟾蜍執行。如果我嘗試在PHP應用程序中運行它,我得到了錯誤「MySQL服務器已經消失......」,「錯誤讀取結果集的標題」以及「超過60秒的最大執行時間」
I調升mysql.connect_timeout 600(使用的ini_set)和default_socket_timeout 600(如this question建議,這解決了超時錯誤,但我仍然得到了第2位。
我試着設置max_input_time設置爲-1,和MySQL的服務器端,我把max_allowed_packet設置爲256M,這兩個都解決了這個問題。
有沒有其他的方法可以繞過這個錯誤而不改變正在運行的MySQL程序?
當網頁加載:
set_time_limit(0);
ini_set('mysql.connect_timeout', 600);//for long queries
ini_set('default_socket_timeout', 600);//for long queries
//ini_set('max_input_time',-1); //don't know what this does
當查詢被稱爲:
if($reconnect===true){
$this->disconnectDB();
}
$this->connectToDB();
if($this->selectDB($dbName)===FALSE){
return false;
}
if(mysql_ping($this->con)===false){
return array();
}
$result = mysql_query($query,$this->con); //this is where the connection "goes away"
你能告訴我們你的代碼(無論是在這裏還是在粘貼中)? – Neal 2011-06-15 17:06:51
添加到問題 – Andrea 2011-06-15 17:23:42