2009-11-26 128 views
1

我正在爲我的Web應用程序使用WAMP服務器。有時我看到這個一般錯誤:2006 MySQL服務器已經消失'MYSQL服務器已經消失

我正在通過PDO PHP更新MySQL數據庫。

任何建議,以避免這種情況?

回答

2

嘗試調試問題。這可能是由許多因素造成的。通常有:

  • MySQL服務器崩潰
  • 出一個通訊不打算,也許發送命令出故障,或通過套接字發送垃圾客戶端和服務器
  • 濫用客戶端庫的方式之間的問題。

上次我使用它時,PDO驅動程序非常不靈活,可以創建最後一種情況。

如果通信問題可能在生產中,那麼應用程序應重新連接並重試交易。

1

從php的mysql_connect有一個參數名稱client_flag。如果你的腳本的持續時間超過mysql服務器,你需要設置這個wait_timeout

MYSQL_CLIENT_INTERACTIVE在關閉連接前允許不活動的交互式超時秒(而不是wait_timeout)。

3

一種可能性:

打開你的mysql/bin中/ my.ini文件,更改

下都max_allowed_packet = 1M的[mysqld]和[mysqldump的]

max_allowed_packet = 100M 
+0

感謝。修復了CiviCRM的問題。 – Ben 2014-10-22 21:39:24