gpt4 book ai didi

php - Yii2 错误处理程序在非对象调用时死得很丑

转载 作者:可可西里 更新时间:2023-10-31 23:39:42 25 4
gpt4 key购买 nike

任何人都知道是什么导致 Yii2 错误处理程序在以下行中正确停止:

echo $missing;

(假设 $missing 为空)并正确显示“Undefined variable: missing...”通知。同时完全“死”在下面一行:

echo $missing->noneExisting();

并显示(返回)完全空白页面而不是正确的错误消息?

自从我开始在 Yii2 中编码以来,我在 Yii2 错误处理程序方面遇到了一个非常奇怪的麻烦。上面的代码是示例之一。另一个是,在迁移中重新声明 Yii 命名空间 causes command-line console to die ugly, instead of displaying proper fatal error .

I've been told ,这个问题是由我的 PHP 配置引起的。但我觉得难以置信——主要是因为:

  • 在我的 XAMPP 结构、php.ini 内容等中,我没有更改任何东西,过去很多很多个月了,实际上我仍在使用XAMPP 的旧好 1.8.1 版本(版本不符合 PHP 版本),

  • 所有提到的问题都是大约一个月前开始的,当时我开始在 Yii2 中编码并且发生在 Yii2 支持的应用程序中——我无法在任何应用程序中重现上述任何问题我的 Yii1 支持的项目。

我同意,这一定是我本地安装的 PHP 中的某些东西,因为我已经在新安装的 XAMPP 5.6.8 及其便携版本中测试了所有这些示例。但是,由于我只能在 Yii2 支持的项目中重现这个问题,并且在 Yii1 支持的应用程序或纯 PHP 下一切都尽可能好,所以里面一定有某种讨厌的恶魔。

有人可以在这里提供帮助或至少阐明一些问题,我应该从哪里开始寻找?

最佳答案

我发现在某些环境下,当 Yii2 处理丢失变量错误时,它会在调试器底部显示错误。

警告:var_export 不处理第 187 行的 ~/vendor/yiisoft/yii2/helpers/BaseVarDumper.php 中的循环引用

也许那个错误导致你的环境死于此。然而,这似乎是一个错误。

此外,我使用此 Github Issue 中的解决方案找到了解决方法.这不是很漂亮,但却是一个解决方案。

编辑:发布了针对此问题的补丁。 See here

关于php - Yii2 错误处理程序在非对象调用时死得很丑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30039929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com