Я использую Vagrant со свежим laravel 5.4. После запуска auth я выполнил миграцию для переноса таблиц MySQL. Все эти процессы успешны, но когда я пытаюсь войти или зарегистрироваться, чтобы проверить систему, я получаю ошибку:
SQLSTATE [HY000] [2002] Соединение отклонено.
Но моя база данных работает отлично, так как я уже могу мигрировать таблицы. Каким может быть решение? проверьте прикрепленное изображение (я использую Ubuntu 16.04)
Попробуйте изменить свой DB_HOST с 127.0.0.1 на localhost. и если все еще не работает, попробуйте использовать порт mysql по умолчанию для 3306
если вы используете laravel, возможно, ваш PDO PHP Extension не установлен. в расширении php.ini uncomment = php_pdo_mysql.dll
если у вас не было доступа к php.ini, выполните следующие действия: добавьте это в config / database.php в разделе mysql
'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, ],
Если вы пытаетесь выполнить миграцию php-artisan с хост-компьютера, вам нужно установить в .env conf-файл DB_PORT = 33060, поскольку он прослушивает порт-бродяга / Homestead. Но когда я изменяю, мое приложение перестает работать. Поэтому я предлагаю ssh для бродяг и запускать php artisan из VM, и у вас не будет проблем.