【问题标题】:1040 too many connection in php Pdo exception1040 php Pdo 异常中的连接过多
【发布时间】:2018-06-01 02:33:28
【问题描述】:

This 是我的Database.php。当我进入我的网站时,它会显示一个 1040 too many connection Pdo 异常。

class Database extends \PDO
{

    public function __construct($dsn, $usr = null, $pwd = null, array $options = array())
    {
        $options = $options + $this->getDefaultOptions();
        @parent::__construct($dsn, $usr, $pwd, $options);
    }

    protected function getDefaultOptions()
    {
        return array(
            \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
            \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
            \PDO::ATTR_EMULATE_PREPARES => false,
            \PDO::ATTR_STATEMENT_CLASS => array('Slim\\PDO\\Statement', array($this)),
            );
    }

   /**
    * @param array $columns
    *
    * @return SelectStatement
    */
    public function select(array $columns = array('*'))
    {
        return new SelectStatement($this, $columns);
    }

   /**
    * @param array $columnsOrPairs
    *
    * @return InsertStatement
    */
    public function insert(array $columnsOrPairs = array())
    {
        return new InsertStatement($this, $columnsOrPairs);
    }

   /**
    * @param array $pairs
    *
    * @return UpdateStatement
    */
    public function update(array $pairs = array())
    {
        return new UpdateStatement($this, $pairs);
    }

   /**
    * @param null $table
    *
    * @return DeleteStatement
    */
    public function delete($table = null)
    {
        return new DeleteStatement($this, $table);
    }
}
mysqli_close();

【问题讨论】:

  • 嗨,艾哈迈德!请在问题中提供实际代码。是否还可以包含异常消息的文本,并使用 Markdown 格式?谢谢!
  • 是的,我正在发送代码
  • 你可以查看代码

标签: php mysql phpmyadmin


【解决方案1】:

如果您在尝试连接到 mysqld 服务器时收到 Too many connections 错误,这意味着所有可用的连接都被其他客户端使用。

允许的连接数由 max_connections 系统变量控制。其默认值为100。如果需要支持更多的连接,则应将此变量设置为较大的值。

https://dev.mysql.com/doc/refman/8.0/en/too-many-connections.html

以下是可能的解决方案:

1) 通过在mysql中设置全局变量来增加最大连接设置。

设置全局 max_connection=2000;

注意:会增加服务器负载。

2) 如下清空连接池:

冲洗主机;

3) 检查您的进程列表,如果您不想要其中任何一个,则终止特定进程列表。

http://www.easysolutionweb.com/mysql-tutorials/how-to-deal-with-too-many-connections-error-in-mysql?stack

【讨论】:

  • 您的“连接”代码是否与此示例相似? w3schools.com/Php/func_mysqli_close.asp 通常资源太空闲,您需要关闭才能使其他用户可以使用连接。
  • 您可能需要使用简短的(不到一分钟)General_Log 来了解发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-29
  • 2017-10-30
  • 1970-01-01
  • 2014-06-27
  • 1970-01-01
  • 1970-01-01
  • 2012-05-20
相关资源
最近更新 更多