Laravel 5.2 不读取 env 文件。
Laravel 5.2 不读取 env 文件。
升级到Laravel 5.2版本后,我的.env文件中的值都无法读取。我按照升级指导文件进行操作,除了auth.php配置文件之外,我的所有配置文件都没有修改,它们在之前的版本5.1.19中都可以正常工作。
.env文件包含以下值:
DB_DATABASE=mydb DB_USERNAME=myuser
config/database.php文件包含以下值:
'mysql' => [ 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), ]
我得到了这个错误:
PDOException: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)
显然没有引入我的.env配置文件。这影响了我所有的配置文件,包括像bugsnag这样的第三方库。
我还尝试了:
php artisan config:clear php artisan cache:clear
更新
尝试运行php artisan tinker
>>> env('DB_DATABASE') => null >>> getenv('DB_DATABASE') => false >>> config('database.connections.mysql.database') => "forge" >>> dd($_ENV) []
我尝试安装了一个新的Laravel 5.2版本,基本上只复制了我的app文件夹,没有包括任何其他composer包。但仍然遇到了相同的问题。我的服务器上还有其他的Laravel 5.2项目可以正常工作。
admin 更改状态以发布 2023年5月22日
来自官方的 Laravel 5.2 升级注意事项:
如果您在部署过程中使用了
config:cache
命令,您必须确保您仅从配置文件中调用env
函数,而不是从您的应用程序中的任何其他位置调用。如果您在应用程序中调用
env
,强烈建议您将适当的配置值添加到您的配置文件中,并从该位置调用env
,从而允许您将您的env
调用转换为config
调用。