Я правильно указал конфигурацию в файле database.php.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'laravel5'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'abc123'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
когда я запускаю это на консоли
php artisan migrate
Выдает ошибку
Доступ запрещен для пользователя ‘hometead’ @ ‘localhost’ (используя пароль: YES) ‘
Почему это дает эту ошибку и каково решение?
В laravel первым приоритетом является файл .env, так что если в файле .env уже задана конфигурация, которая будет работать первой, если не найдена конфигурация в файле .env, то ваш файл database.php будет работать. В файле .env
DB_HOST=localhost
DB_DATABASE=database
DB_USERNAME=root
DB_PASSWORD=password
Если вы хотите использовать для конфигурации файл database.php, вам не нужно использовать env()
функция. После удаления env()
функция обновленного кода будет
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel5',
'username' => 'root',
'password' => 'abc123',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Проверить .env
Файл, Вам необходимо указать информацию о базе данных на .env
файл
DB_HOST=localhost
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=abc123