【问题标题】:Laravel 5.2 {{ env('APP_ENV') }} does not work in productionLaravel 5.2 {{ env('APP_ENV') }} 在生产中不起作用
【发布时间】:2016-12-27 01:24:24
【问题描述】:

以下代码适用于我的开发环境(Ubuntu 14.04 桌面)

@if(env('APP_ENV') === 'production')
    // ... something

但由于某种原因,生产环境(ubuntu 14.04 服务器)上的刀片视图没有获取环境变量。

如果我运行php artisan env,响应就很好:当前应用环境:生产

数据库连接工作正常。并且从控制器调用的 env() 助手也可以工作。

到目前为止我尝试了什么:

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

我也多次重启apache,没有结果。

有什么建议吗? 谢谢!

【问题讨论】:

  • 如果您在模板中使用{{ dd(env('APP_ENV')) }},您会得到什么?
  • @Rob null 在生产环境中,"local" 在本地环境中。
  • 您是否忘记创建您的.env 文件?很确定laravel默认使用生产,但我不知道你改变了什么。
  • 不,.env 文件存在并且可以在 laravel 中正常工作,但视图除外。数据库连接工作正常,我可以从控制器访问环境变量。问题出在视图上。

标签: apache2 laravel-5.2 blade


【解决方案1】:

我解决了这个问题:

rm bootstrap/cache/config.php

【讨论】:

    【解决方案2】:

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    【解决方案3】:

    所以,我成功了。

    php artisan config:clear 成功了。

    1. php artisan config:clear
    2. php artisan cache:clear
    3. service apache2 restart(以防万一)

    我猜问题是:

    我第一次运行 php artisan config:cache 我的 .env 文件有 APP_ENV=local。所以我必须清除配置缓存才能获得新的环境变量值。

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2017-01-06
      • 2017-01-06
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多