デバッグ中に、コントローラー アクション メソッド内の関数呼び出しで例外がスローされるという問題が発生しましたが、デバッガーを使用せずにコードを実行すると、例外は発生しません。Yii フレームワーク 1.1.14 で Xdebug 2.2.3 を使用しています。
私の 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
) への参照についてコードを grep し、Controller クラスと View クラスの再作成を試みました。最初から無駄に。私はそれをこの最小限の実証可能なケースに減らしました。Yii のインストールをゼロから再構築する以外に次に何を試すべきか途方に暮れています。PHPマジックゲッターに関連している可能性があると何かが教えてくれます。どんな洞察も大歓迎です。