1040 слишком много соединений в php Pdo исключение - PullRequest
0 голосов
/ 01 июня 2018

Это мой 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();

1 Ответ

0 голосов
/ 01 июня 2018

Если при попытке подключиться к серверу mysqld появляется ошибка «Слишком много подключений», это означает, что все доступные подключения используются другими клиентами.

Количество разрешенных подключений контролируется параметром max_connectionsсистемная переменная.Значение по умолчанию равно 100. Если вам нужно поддерживать больше соединений, вам следует установить большее значение для этой переменной.

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

Возможны следующие решения:

1) Увеличьте настройку максимального соединения, установив глобальную переменную в mysql.

set global max_connection = 2000;

Примечание. Это увеличит нагрузку на сервер.

2)Очистите пул соединений, как показано ниже:

FLUSH HOSTS;

3) проверьте ваш список процессов и уничтожьте определенный список процессов, если вы не хотите ни одного из них.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...