【问题标题】:After upgrading laravel 5.1 to 5.2 \App::environment() always returning "production"将 laravel 5.1 升级到 5.2 后 \App::environment() 总是返回“生产”
【发布时间】:2018-06-05 14:04:46
【问题描述】:

我将 laravel 5.1 升级到 5.2,一切看起来都不错。 但是当尝试访问应用程序环境时没有得到预期的结果。

When i dd($_ENV) this is what i get 
"APP_ENV" => "vagrant"
"APP_DEBUG" => "true"
"DB_HOST" => "localhost"  

But When dd(\App::environment());
"production"

P.S. even I checked in tinker: dd(env('APP_ENV')) gives me "vagrant"
but dd(\App::environment()) gives me "production".
Dont you think it is odd :(

这很奇怪:(

有人遇到这个问题吗??

【问题讨论】:

    标签: laravel laravel-5.2


    【解决方案1】:

    您错过了升级过程中的一个步骤:

    配置

    环境价值

    在 app.php 配置文件中添加一个 env 配置选项,如下所示:

    'env' => env('APP_ENV', 'production'),
    

    附:您可以通过 artisan 命令检查值:

    php artisan env
    

    【讨论】:

    • @owenconti +1 非常感谢它也帮助了我
    • @Cowboy - 你能把我的回复标记为问题的答案吗?
    • 当我使用homestead 时,这对我没有预期的效果,因为已经有一个通过 php-fpm 填充的APP_ENV 变量,它可以通过 . .env 文件。我刚刚就here 的方式和原因写了一个更详细的解释。长话短说:如果您想通过 .env 文件更改它们,请确保不要在 .env 文件外部设置任何环境变量。
    • 嘿.. 看看这个我关于如何加载多个环境的教程developers.ph/laravel-framework/laravel-5/…
    【解决方案2】:

    有时当您在 .env 文件中进行更改时,它不会从中获取正确的值,问题是由于某些配置缓存造成的。尝试运行以下命令,希望会起作用

    php artisan config:cache
    php artisan config:clear
    php artisan cache:clear
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-31
      • 2021-08-22
      • 2016-03-27
      • 2020-08-26
      • 2017-04-01
      • 2021-04-25
      • 1970-01-01
      • 2016-04-27
      相关资源
      最近更新 更多