2011-10-13 32 views

回答

1

有時MySQL連接線程不會被丟棄,即使您已經徹底拆除了套接字;它仍然掛在等待它被收穫。

檢查您的設置wait_timeout。默認值是不合理的。最佳值可能在20秒左右。如果您使用持久性連接,您可能也會希望它很低。

+0

我該如何設置PDO的「wait_timeout」? – Mirodil

+0

您可以在每次通過發出查詢打開連接時將wait_timeout設置爲會話變量: SET wait_timeout = 28800; 如果您使用的是PDO(比MySQL或MySQLi驅動程序更好的選擇),則可以在創建PDO連接對象時通過設置PDO :: MYSQL_ATTR_INIT_COMMAND驅動程序選項來發出上述語句。 – Koba

+0

我會試試看。謝謝 – Mirodil

0

嘗試設置永久性標誌在你的數據庫驅動程序的配置是錯誤的:

resources.db.params.persistent = 0 
+0

這沒有幫助我得到相同的消息。 – Mirodil

2

始終關閉您的連接。如果您使用的是Sql類,它看起來像:

$sql->getAdapter()->getDriver()->getConnection()->disconnect(); 
相關問題