我在我的网站上使用Zend Freamwork。有时我从我的网站上得到以下例外:
消息:SQLSTATE [42000] [1203]用户elibrary_books已超过'max_user_connections'活动连接
据我所知,“Zend Freamwork”使用PDO连接数据库。 我怎么解决这个问题?
答案 0 :(得分:2)
始终关闭您的连接。如果您使用的是Sql类,它看起来像:
$sql->getAdapter()->getDriver()->getConnection()->disconnect();
答案 1 :(得分:1)
有时,即使你已经彻底拆掉套接字,MySQL连接线程也不会被丢弃;它仍然在等待它被收获。
检查wait_timeout
的设置。默认值不合理地长。最佳值可能约为20秒。如果你使用持久连接,你可能也会想要它这么低。
答案 2 :(得分:0)
尝试将数据库驱动程序配置中的持久标志设置为false:
resources.db.params.persistent = 0