我的 Laravel 应用程序正在我的本地计算机上运行。当我运行我的应用程序时,Laravel 使用我的生产数据库配置并抛出异常:
SQLSTATE[HY000] [1045] Access denied for user 'production_admin'@'localhost' (using password: YES)
这很奇怪,因为当我使用 artisan
检查当前环境时,它说:
Current application environment: development
和我的开发
数据库配置文件有不同的用户名和密码。
我还在 bootstrap/start.php
中声明:
$env = $app->detectEnvironment(array(
'development' => array('*.dev', gethostname()),
'production' => array('*.com', '*.net', '*.org', '*.ir')
));
虽然我在development
环境中,但我不知道为什么Laravel坚持使用production
配置。
感谢您的帮助。
最佳答案
避免此问题的最佳方法是执行以下操作:
在/bootstrap/start.php
将默认环境检测替换为:
$env = $app->detectEnvironment(function()
{
return getenv('APP_ENV') ?: 'local';
});
假设您正在运行 Homestead 或类似软件,这将检查是否存在由 apache/nginx 设置的环境变量。
关于php - Laravel 没有检测到我的本地(开发)数据库配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880078/