我正在使用装有新laravel 5.4的Vagrant。运行auth后,我运行了迁移以迁移MySQL表。所有这些过程都成功,但当我尝试登录或注册测试系统时,我收到错误:
SQLSTATE [HY000] [2002]连接被拒绝。
但是我的数据库工作正常,因为我已经能够迁移表了。可能的解决方案是什么?检查附图(我使用的是Ubuntu 16.04)
答案 0 :(得分:16)
尝试将DB_HOST从127.0.0.1更改为localhost。如果仍然无法正常工作,请尝试使用默认的mysql端口3306
答案 1 :(得分:0)
如果你使用laravel,可能你的PDO PHP扩展没有设置。 在你的php.ini取消注释extension = php_pdo_mysql.dll
如果您无法访问php.ini,请执行以下操作: 将此添加到mysql部分中的config / database.php
'options' => [PDO::ATTR_EMULATE_PREPARES => true],
你的代码应该是这样的:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'options' => [PDO::ATTR_EMULATE_PREPARES => true],
'prefix' => '',
'strict' => true,
'engine' => null,
],
答案 2 :(得分:0)
如果你想从主机上运行php artisan migrate,你需要设置.env conf文件DB_PORT = 33060,因为这是一个端口vagrant / Homestead正在监听。但是,当我改变我的应用程序停止工作。 所以我建议ssh到vagrant并运行从虚拟机迁移的php工匠,你将没有问题。