我正在为本地主机使用端口为“8080”的 xampp 服务器,而 mysql 具有默认端口。我在“htdocs”文件夹内的名为“cake”的文件夹中安装了“cakePHP 3.0”。我已经使用 phpmyadmin 创建了数据库,并在 app.php 文件中进行了以下更改。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
//'port' => '8080',
'username' => 'cakephp',
'password' => 'rJzUvaFaXH7MPpaz',
'database' => 'cake_bookmarks',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
'quoteIdentifiers' => false,
//'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
],
我试过取消注释端口,在这种情况下服务器根本没有响应。我是否缺少连接到数据库的任何内容?
最佳答案
尝试将 'host' => 'localhost',
换成 'host' => '127.0.0.1',
看看是否有帮助。
您还可以通过指定选项 'unix_socket' => '/path/to/mysql.sock',
使用 Unix Socket 连接到 MySQL。
在 OS X 中运行的 XAMPP 上,套接字位于 /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
关于php - CakePHP 3.0 连接数据库失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150090/