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();
答案 0 :(得分:0)
如果在尝试连接到mysqld服务器时出现太多连接错误,则表示其他客户端正在使用所有可用连接。
允许的连接数由max_connections系统变量控制。其默认值为100.如果需要支持更多连接,则应为此变量设置更大的值。
https://dev.mysql.com/doc/refman/8.0/en/too-many-connections.html
以下是可能的解决方案:
1)通过在mysql中设置全局变量来增加最大连接设置。
设置全局max_connection = 2000;
注意:它会增加服务器负载。
2)清空连接池,如下所示:
FLUSH HOSTS;
3)如果你不想要任何一个,请检查你的processList并杀死特定的进程列表。