2015-06-03 2 views
0
PDOExceptionvendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:47 

SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: YES) 

Я обновил файл .env с правильными учетными данными (его даже не localhost больше, его IP-адрес), однако я продолжаю получать это сообщение об ошибке. Я уже запустил php artisan config:clear. Как заставить промышленное приложение использовать новые учетные данные в файле .env?Приложение Laravel 5 продолжает использовать старое подключение к базе данных

Мой конфиг/database.php стандартно:

'connections' => [ 
     'mysql' => [ 
      'driver' => 'mysql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE'), 
      'username' => env('DB_USERNAME'), 
      'password' => env('DB_PASSWORD'), 
      'port'  => env('DB_PORT', '3306'), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
    ], 

], 
+0

Покажите свой '' env' и конфигурации/database.php' файлов. –

+0

, ключи в .env соответствуют этому, DB_HOST больше не является локальным хостом, но он пытается подключиться к этому. –

+0

Попробуйте запустить 'composer update' –

ответ

1

Господи, почти сошел с ума, пытаясь почини это. Не было никаких проблем с соединением DB в веб-запросах, но я все еще получал ошибки подключения в сообщениях об ошибках. Кажется, проблема заключалась в том, что очередь, в которой мы работали, содержит старые значения конфигурации.

ps aux | grep php

Найти queue:work процесса и убить его, он начнет снова автоматически, но читать ваши новые значения конфигурации.

0

.env файл

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=SomeRandomString 

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 

конфигурации/database.php

'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' => '', 
    'strict' => false, 
], 
+0

У меня это сейчас .. Я даже удалил настройки по умолчанию. –

3

Выполнить следующие команды Artisan затем повторите попытку:

php artisan cache:clear 

php artisan config:clear 

php artisan config:cache 

php artisan route:clear 

php artisan route:cache 
+0

Это на самом деле помогло мне. У меня были задания в очереди, которые использовали старые записи .env. Я думаю, что команда, которая действительно помогла, была «php artisan config: cache' – ccostel

Смежные вопросы