Мое приложение Laravel работает на моем локальном компьютере. Когда я запускаю свое приложение, Laravel использует конфигурацию моей производственной базы данных и выдает исключение:
SQLSTATE[HY000] [1045] Access denied for user 'production_admin'@'localhost' (using password: YES)
Это странно, потому что, когда я проверяю текущую среду, используя artisan
это говорит:
Current application environment: development
и мой development
Файл конфигурации базы данных имеет другое имя пользователя и пароль.
также я заявил в bootstrap/start.php
тот :
$env = $app->detectEnvironment(array(
'development' => array('*.dev', gethostname()),
'production' => array('*.com', '*.net', '*.org', '*.ir')
));
Я не знаю, почему Laravel настаивает на использовании production
конфигурация, хотя я в development
среда.
Спасибо за вашу помощь.
Лучший способ избежать этой проблемы — сделать следующее:
в /bootstrap/start.php
Замените обнаружение среды по умолчанию на:
$env = $app->detectEnvironment(function()
{
return getenv('APP_ENV') ?: 'local';
});
Это проверит наличие переменной окружения, которая устанавливается с помощью apache / nginx, если вы используете Homestead или аналогичный.
Других решений пока нет …