【问题标题】:Why is the information on Laravel's error screen hidden?为什么 Laravel 的错误界面的信息被隐藏了?
【发布时间】:2020-05-19 15:39:05
【问题描述】:

我接手了一个 Laravel 5.5 的项目,发生了一件我从来没有遇到过的事情——报错屏幕上的内容都被星号代替了。

我不知道以前的开发人员做了什么来实现这一点,但显然我希望能够看到这些信息。 .env 内容似乎相当明显:

APP_ENV=local
APP_HOST=http://localhost
APP_DEBUG=true
APP_TESTMODE=false
APP_CACHE_ENABLED=true

除此之外,还有用于 Stripe、AWS 等的 API 密钥,但没有任何东西可以阻止我查看错误屏幕上的信息。

为什么会出现这个问题,我该如何解决?

【问题讨论】:

  • APP_TESTMODE 似乎不寻常,我会检查它会导致什么。您可能还想检查您的 composer.json 是否有任何不寻常的包
  • 是的,@ChristopheHubert,我也这么认为
  • @ChristopheHubert 我尝试更改或删除APP_TESTMODE,但没有效果。在代码中也发现了它的用法,肯定是无关的。
  • 这能回答你的问题吗:stackoverflow.com/a/46407010/4258328

标签: php laravel


【解决方案1】:

您可能拥有debug_blacklist 集,如documentation 中所示

只需从 config/app.php 配置文件中删除 debug_blacklist 数组,值就会显示出来。

【讨论】:

  • 是的,就是这样。他们有:'debug_blacklist' => [ '_SERVER' => array_keys($_SERVER), '_ENV' => array_keys($_ENV), ],,因此所有内容都被隐藏了。为什么有人会隐藏所有这些信息是另一个问题:)
  • 如果您希望其他人在启用调试的实时服务器上看到您的工作 - 最好隐藏敏感数据 - 尤其是 Stripe Key ?
  • 我想,但是在这个过程中隐藏其他所有东西似乎有点不分青红皂白:)
  • 同意,这似乎有点矫枉过正,但我​​想这对以前的人来说是有道理的 ?
猜你喜欢
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 2017-07-26
  • 2021-04-02
相关资源
最近更新 更多