Yii2 错误处理程序在非对象调用时死得很丑
Yii2 error handler dies ugly on non-object calls
任何人都知道是什么导致 Yii2 错误处理程序在以下行正确停止:
echo $missing;
(假设 $missing
为空)并正确显示“未定义变量:缺少...”通知。同时 "die" 完全在以下行中:
echo $missing->noneExisting();
并显示 (return) 个完全空白的页面而不是正确的错误消息?
自从我开始在 Yii2 中编码以来,我在 Yii2 错误处理程序方面遇到了一个非常奇怪的麻烦。上面的代码是示例之一。另一个是,在迁移 causes command-line console to die ugly, instead of displaying proper fatal error.
中重新声明 Yii
命名空间
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 处理缺失变量错误时,它会在调试器底部显示错误。
Warning: var_export does not handle circular references in ~/vendor/yiisoft/yii2/helpers/BaseVarDumper.php on line 187
也许那个错误导致你的环境死于此。
然而这似乎是一个错误。
此外,我找到了一个使用此 Github Issue 中找到的解决方案的解决方法。
它不是很漂亮,但是是一个解决方案。
编辑:已发布针对此问题的补丁。 See here
任何人都知道是什么导致 Yii2 错误处理程序在以下行正确停止:
echo $missing;
(假设 $missing
为空)并正确显示“未定义变量:缺少...”通知。同时 "die" 完全在以下行中:
echo $missing->noneExisting();
并显示 (return) 个完全空白的页面而不是正确的错误消息?
自从我开始在 Yii2 中编码以来,我在 Yii2 错误处理程序方面遇到了一个非常奇怪的麻烦。上面的代码是示例之一。另一个是,在迁移 causes command-line console to die ugly, instead of displaying proper fatal error.
中重新声明Yii
命名空间
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 处理缺失变量错误时,它会在调试器底部显示错误。
Warning: var_export does not handle circular references in ~/vendor/yiisoft/yii2/helpers/BaseVarDumper.php on line 187
也许那个错误导致你的环境死于此。 然而这似乎是一个错误。
此外,我找到了一个使用此 Github Issue 中找到的解决方案的解决方法。 它不是很漂亮,但是是一个解决方案。
编辑:已发布针对此问题的补丁。 See here