一尘不染

Laravel 5.2无法读取环境文件

php

升级到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)

显然没有拉入我的环境配置。这正在影响我的每个配置文件,包括第三方(例如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文件夹中;不包括其他作曲家软件包。仍然有同样的问题。我在同一台服务器上还有其他运行良好的Laravel
5.2项目。


阅读 258

收藏
2020-05-29

共1个答案

一尘不染

哇。真是的 这是因为我有一个env值,其中带有一个空格,没有用引号引起来

这个

SITE_NAME=My website

改成这个

SITE_NAME="My website"

固定它。我认为这与Laravel 5.2现在将vlucas /
phpdotenv
从1.1.1 升级到2.1.0有关

2020-05-29