PDO和MySQL'max_user_connections'

时间:2014-09-02 12:40:07

标签: php mysql pdo

我有适用于Android,Windows Phone和iOS应用的PHP REST API。 API的响应始终是JSON。我们使用DataBase类来管理PDO连接和CRUD操作。有时我们遇到以下错误Message: SQLSTATE[42000] [1203] User my_user already has more than 'max_user_connections' active connections

我发现了一些建议将PDO对象变量设置为null的指令,例如$pdo = nullunset($pdo)。所以,我在我的DataBase类中创建了一个析构函数方法来取消设置我的PDO实例:

public function __destruct(){
    $this->pdo = null;
    unset($this->pdo);
}

但有时我又得到了错误。有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

你对连接背景有什么用?你使用连接池吗?

查看PHP文档主题" Connections and Connection management"

  

注意:

     

如果您正在使用PDO ODBC驱动程序并且您的ODBC库支持   ODBC连接池(unixODBC和Windows是两个;有   可能更多),然后建议您不要使用持久性PDO   连接,而是将连接缓存留给ODBC   连接池层。 ODBC连接池与。共享   该过程中的其他模块;如果告诉PDO缓存连接,   然后该连接永远不会返回到ODBC连接   池,导致为服务创建其他连接   那些其他模块。

希望这会有所帮助。