执行此操作时遇到问题:
$ php artisan migrate
我收到错误
[PDOException]
SQLSTATE[HY000] [2002] Connection refused
我正在使用MAMP,它运行正常。
我试图将localhost设置为127.0.0.1并且我添加了'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock'
但没有任何帮助。
[编辑] 我也添加了端口,我检查了用户,密码正确,服务器运行正常..任何建议??
由于
答案 0 :(得分:6)
不确定但请确保您的mysql server
正在运行并且正在按预期在正确的端口上运行,因为Laravel
的默认端口值为3306
(它是{的默认端口{1}}服务器)并且很可能mysql
正在另一个端口上运行。这是一个discussion并且还检查this answer,它几乎相似。
另请按照this thread讨论并解决了您在问题中提到的相同错误:
mysql
答案 1 :(得分:5)
我知道这是一个老问题,但是当我遇到同样的问题时,它出现在谷歌的第一个结果中,所以我想在这里添加我的解决方案,以防它帮助其他人。
在MAMP中单击MySQL时,有一个设置为“允许网络访问MySQL”,需要启用Laravel来访问数据库(默认情况下我没有启用它)。这允许您的应用程序在不使用Unix套接字的情况下连接到MySQL。
答案 2 :(得分:4)
在laravel中更改.env文件: 添加MAMP mysql端口
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'port' => '8889',
'strict' => false,
],
杰夫
答案 3 :(得分:0)
是的,确实存在这个问题,MAMP需要添加到config / database' port' => ' 8889' (假设你正在使用这个端口,而不是80,这可能会导致与Skype等其他应用程序发生冲突!)