CakePHP1.1でXML_Unserializerを使う際のエラー対処

PEARのXML_Unserializer.phpをレンタルサーバで利用する際、
Fatal error: Call to undefined method: xml_parser->sethandlerobj()
といったエラーが。

XML_PARSERをバージョンアップすれば解決するらしいが、
レンタルサーバなのでそれができない。

そこでCakePHPのapp/vendersにXML_PARSERを置き
ini_set( ‘include_path’, get_include_path() . PATH_SEPARATOR . APP .’vendors’ );
としたが、現状は変わらず。

理由は、CakePHPの
app/webroot/index.php
CakePHPのルートディレクトリ/index.php
でinclude_pathを指定しているため。

app/webroot/index.phpの
ini_set(‘include_path’, CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get(‘include_path’));

ini_set(‘include_path’, CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS );
と修正。

CakePHPのルートディレクトリ/index.phpの
ini_set(‘include_path’, ini_get(‘include_path’) . PATH_SEPARATOR . CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS);

ini_set(‘include_path’, CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS);
と修正。

とすれば、デフォルトのinclude_pathを読み込まないため、問題が解決される。