Php MySQL:用户的某个用户名已超过';最大用户连接数';活动连接

Php MySQL:用户的某个用户名已超过';最大用户连接数';活动连接,php,mysql,zend-framework,Php,Mysql,Zend Framework,我正在使用Zend Freamwork作为我的网站。有时我会从我的网站上得到以下例外: 消息:SQLSTATE[42000][1203]用户elibrary\u books已经有超过“max\u User\u connections”的活动连接 据我所知,“Zend Freamwork”使用PDO连接到数据库。 如何解决这个问题?有时候MySQL连接线程不会被扔掉,即使你已经彻底地拆下了套接字;它仍然挂在那里等待收割 检查等待超时设置。默认值过长。最佳值可能是20秒左右。如果您使用的是持久性连接

我正在使用Zend Freamwork作为我的网站。有时我会从我的网站上得到以下例外:

消息:SQLSTATE[42000][1203]用户elibrary\u books已经有超过“max\u User\u connections”的活动连接

据我所知,“Zend Freamwork”使用PDO连接到数据库。
如何解决这个问题?

有时候MySQL连接线程不会被扔掉,即使你已经彻底地拆下了套接字;它仍然挂在那里等待收割


检查
等待超时设置
。默认值过长。最佳值可能是20秒左右。如果您使用的是持久性连接,您可能还希望将其设置得如此低。

请尝试将数据库驱动程序配置中的持久性标志设置为false:

resources.db.params.persistent = 0

始终关闭您的连接。如果您使用的是Sql类,它看起来像:

$sql->getAdapter()->getDriver()->getConnection()->disconnect();

如何为PDO设置“wait_timeout”?您可以在每次打开连接时通过发出以下查询将wait_timeout设置为会话变量:set wait_timeout=28800;如果您使用的是PDO(比MySQL或MySQLi驱动程序更好的选择),那么在创建PDO连接对象时,您可以通过设置PDO::MySQL_ATTR_INIT_命令驱动程序选项来发出上述语句。这无助于我得到相同的消息。