在调试期间,我遇到了一个问题,即我的 Controller 操作方法中的任何函数调用都会引发异常,但是在没有调试器的情况下运行代码时,它不会发生。我正在使用 Xdebug 2.2.3 和 Yii 框架 1.1.14。
我的 Controller 类被调用TesterController
,这发生在actionIndex
:
class Controller extends CController
{
public $layout='//layouts/column1';
public $menu=array();
public $breadcrumbs=array();
}
class TesterController extends Controller {
public function actionIndex() {
printf("test\n");
$this->render('index');
}
}
当尝试单步执行 printf 函数时,执行到以下 Yii 异常处理程序:
public function handleException($exception)
{
// disable error capturing to avoid recursive errors
restore_error_handler();
restore_exception_handler();
...
哪里$exception
抱怨财产TesterController.email
不存在。我试过查看堆栈和异常跟踪,更新到最新版本的 Xdebug,更新到最新版本的 Yii,删除所有缓存,搜索我的代码以获取对此属性的任何引用(email
),并重新创建我的控制器和视图类从头到尾无济于事。我已经将它简化为这个最小的可演示案例,除了从头开始重建我的 Yii 安装之外,我不知道接下来要尝试什么。有些东西告诉我它可能与 PHP 魔术吸气剂有关。任何见解将不胜感激。