php工匠迁移错误PDOException在Laravel 4


php artisan migrate error PDOException in Laravel 4

我有一个问题来执行这个:

$ php artisan migrate

我得到一个错误

[PDOException]                             
SQLSTATE[HY000] [2002] Connection refused 

我正在使用MAMP,它工作正常。

我尝试将本地主机设置为127.0.0.1,并添加了'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',但没有任何帮助。

[编辑]我也添加了端口,我检查了用户和密码是正确的,服务器运行正常。任何建议吗? ?

谢谢

不确定,但请确保您的mysql server正在运行,它在正确的端口上运行,因为Laravel的默认端口值是3306(这是mysql服务器的默认端口),最有可能的是mysql在不同的端口上运行。这是一个讨论,也检查这个答案,它几乎是相似的。

也关注这个讨论并解决了你在问题中提到的相同错误的线程:

[SOLVED] SQLSTATE[HY000] [2002] Connection refused

我知道这是一个老问题,但是当我遇到同样的问题时,它作为谷歌的第一个结果出现了,所以我想在这里添加我的解决方案,以防它对其他人有所帮助。

在MAMP中,当你点击MySQL时,有一个"允许网络访问MySQL"的设置,需要启用Laravel才能访问数据库(我没有默认启用)。这允许你的应用程序不使用Unix套接字连接到MySQL。

change .env file in laravel:添加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,
    ],
杰夫

是的,正好有这个问题,与MAMP需要添加到配置/数据库'port' => '8889'(假设您正在使用这个端口,而不是80,这会导致与其他应用程序如Skype的冲突!)