最近、既存のサイトに小さな変更を加える必要があったため、ダウンロードして実行しようとしましたが、エラーが発生しました。
Call to undefined method sfContext::getController() in
/home/user/www/site.com/web/index.php on line 16
ディスパッチ呼び出しの直前にindex.phpにこのコマンドを使用してこれらの行を挿入することにより、どのファイルがロードされているかを把握しようとしました。
$reflection = new ReflectionClass('sfContext');
$classFile = $reflection->getFileName();
die($classFile);
sfContext::getInstance()->getController()->dispatch();
そして、ロードされたファイルは次のように見えます:
/home/user/www/site.com/lib/vendor/symfony1.0/test/unit/sfContextMock.class.php
このsymfony1.0サイトは、元のサーバーでは正常に動作しますが、ローカルマシンでは動作しません。phpのバージョンとphp.iniを確認しましたが、同じです。なぜ間違ったクラスがロードされているのか、何が問題なのか理解できません。
これがindex.phpファイルです
<?php
define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..'));
define('SF_APP', 'front');
define('SF_ENVIRONMENT', 'prod');
define('SF_DEBUG', true);
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');
sfContext::getInstance()->getController()->dispatch();