CakePHP 3.0 连接数据库失败
Posted
技术标签:
【中文标题】CakePHP 3.0 连接数据库失败【英文标题】:CakePHP 3.0 failed to connect to Database 【发布时间】:2015-07-20 22:04:27 【问题描述】:我使用带有端口“8080”的 xampp 服务器作为 localhost,而 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'],
],
我尝试取消注释端口,在这种情况下服务器根本没有响应。连接数据库有什么遗漏吗?
【问题讨论】:
Datasources 数组中的端口是数据库端口,与您的Web Server 端口(8080)无关。 MySQL 的默认端口是 3306 - 如果您没有更改它,则无需在 Datasources 中设置端口。尝试运行 php web 服务器:在应用程序根目录的终端窗口中,运行“bin\cake server”。它将在您的 localhost 上启动一个服务器,侦听端口 8765。在您的浏览器中,输入“localhost:8765”并查看您的应用程序是否启动。 【参考方案1】:尝试将'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
【讨论】:
以上是关于CakePHP 3.0 连接数据库失败的主要内容,如果未能解决你的问题,请参考以下文章