我目前正在开发CakePHP 3.0,在连接到数据库时遇到了问题。
恢复:
您的PHP版本是5.4.16或更高版本。
您的PHP版本已经加载了mbstring扩展名。
您的PHP版本已加载openssl扩展。
您的PHP版本已经加载了intl扩展。
然后:
您的tmp目录是可写的。
您的日志目录是可写的。
FileEngine用于核心缓存。更改配置编辑config/app.php
但是:
CakePHP无法连接到数据库。
无法建立与数据库的连接:SQLSTATE[HY000][2006]MySQL服务器已经离开
我收到的警告是:
警告(2):PDO::__construct():MySQL服务器已离开[CORE''src''Database''Driver''PDODriverTrait.php,第48行]警告(2):PDO::__construct()[PDO.construct]:读取问候语时出错小包裹PID=25748[CORE''src''Database''Driver''PDODriverTrait.php,行48]
我在48号线上的PDODriverTrait.php是:
protected function _connect($dsn, array $config)
{
$connection = new PDO(
$dsn,
$config['username'],
$config['password'],
$config['flags']
);
$this->connection($connection);
return true;
}
我的app.php数据源是:
'className' => 'Cake'Database'Connection',
'driver' => 'Cake'Database'Driver'Mysql',
'persistent' => false,
'host' => 'localhost',
'port' => '81',
'username' => 'root',
'password' => '',
'database' => 'projetatelier',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
'quoteIdentifiers' => false,
我检查了我的PDO扩展,一切似乎都是正确的。
感谢
根据您显示的代码,问题是:-
-
要么你的MySQL正在其他端口上工作,所以只需将端口号放在你的app.php中即可。
-
或者端口号需要从文件app.php.中删除
首先尝试删除它,然后重试。如果不起作用,那么检查MySQL的哪个端口起作用,然后将这个值放在端口中,而不是80。