【问题标题】:Why are Lumen environment variables out of date (or mismatched?)为什么 Lumen 环境变量过时(或不匹配?)
【发布时间】:2019-12-05 21:06:54
【问题描述】:

因此,由于某种原因,我的 lumen .env 变量在后端回显时,与我在实际文件中的内容不匹配。

例如,APP_DEBUG 在文件中设置为 true,但是当我将其回显时,我得到 false 或 null。此外,如果我尝试更改 APP_NAME 没有任何反应,它会回显一个过时的值。

我尝试过运行php artisan cache:clear,但这似乎也不起作用。值得我在 docker 环境中运行它,不确定这是否会影响事情。我也在用 Lumen 6.0 运行 php 7.3。

【问题讨论】:

  • 你是在浏览器上回显还是在其他地方做,比如 Tinker?
  • 在浏览器/邮递员 atm 中回显
  • 如果您使用的是php artisan serve,请尝试停止并重新启动。
  • 不,我使用的是 docker 和 nginx,所以根本不需要使用 lumen 服务器。
  • 哦。凉爽的。重启容器看看有没有变化?

标签: php docker lumen


【解决方案1】:

您需要运行php artisan config:clear 来刷新配置文件的缓存。

命令php artisan cache:clear是刷新应用的缓存。

如果您在部署过程中执行config:cache 命令,您应该确保您只是从配置文件中调用 env 函数。配置缓存后,.env 文件将不会被加载,所有对 env 函数的调用都将返回null

欲了解更多信息:https://laravel.com/docs/6.x/configuration#configuration-caching

【讨论】:

  • 不,不幸的是,这并没有解决问题:(当我回显环境变量时,仍然会得到过时的值......
【解决方案2】:

嗯,这个问题确实与 docker 相关。

事实证明,我们的环境在 docker-compose.yml 文件中定义了所有与 .env 相关的属性,这会覆盖内容。所以我只需要改变这个:

environment:
  <<: *environment
  APP_NAME: <old value>
  APP_URL: http://auth.172.17.0.1.nip.io

并添加 APP_DEBUG 并修改 APP_NAME。因此,如果其他人遇到这种情况并且您正在使用 docker,请确保 docker 没有覆盖 env 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-13
    • 2019-06-19
    • 1970-01-01
    • 2015-09-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多