微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Yii2错误处理程序在非对象调用上死得很难看

任何人都可以有任何想法,什么可以导致Yii2错误处理程序在以下行正确停止:

echo $missing;

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

echo $missing->noneExisting();

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

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

I’ve been told,这个问题是由我的PHP配置引起的.但我发现很难相信 – 主要是因为:

>我的XAMPP结构,PHP.ini内容等没有改变任何过去很多个月,我实际上仍然使用旧的1.8.1版本的XAMPP(版本不符合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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐