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)

显然没有拉入我的环境配置。这影响了我的每一个配置文件,包括第三方,例如 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 项目。

原文由 andrewtweber 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 564
2 个回答

如果您的任何 .env 变量包含空格,请确保将它们用双引号括起来。例如:

SITE_NAME="My website"

不要忘记在测试之前清除缓存:

 php artisan config:cache
php artisan config:clear

原文由 benjolly1989 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于 Laravel 编码器。我们可以使用 config() 来解决这个问题

在文件“config/app.php”中:

 'same_url' => env('SAME_URL', 'http://localhost'),

在您的代码库中:

 $sameURL = config('app.same_url').'/orders/';

原文由 Pham Quang 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题