PEARのServices_Amazonを使おうと思って触ってると、
Fatal error: Call to undefined function: sethandlerobj() in
/usr/lib/php/XML/Unserializer.php on line xxx
/usr/lib/php/XML/Unserializer.php on line xxx
というエラーがでて、動かない。
エラーメッセージでググってみても、どこかのサイトで同じエラーがでて、Googleが補足してるものがかりで、エラーそのものについて調べているサイトがない。
しょうがないので対象を英語に広げると、発見。ガイジンさんが同じ問題で困ってた。
原因としては、、とにかく、インストールされているPEARのなにかが古いことが原因。XML_Parserとか、XML_Serializerとか。
しかし、いくら
pear upgrade-all
を行ってもエラーは回避できず。外人さんの応答を読んでみると、
「pearのサーチパスをしっかり調べろ!」と書いてある。調べたら、pearが二重にインストールされていて、include_pathで古い方のPEARを見に行っていただめ、違うディレクトリのPEARをupgradeしてもまったく反映されてなかったというオチ。
パスの問題って、簡単だけど、良くハマるよな〜
コメント (3)
こんにちわ!初めましてヒロシと申します。
この記事で書かれている状態になりました。。。
大変申し訳ありません。
私が初心者の為↓の意味がよくわかっておりません。。。
「pearが二重にインストールされていて、include_pathで古い方のPEARを見に行っていたため」
また解決方法もわかっておらず、先に進めない状況です。
よろしければ、解決方法を教えて頂けませんでしょうか。
ずうずうしい質問で申し訳ありません。宜しくお願いします。
投稿者: ヒロシ | 2006年06月06日 00:46
日時: 2006年06月06日 00:46
まず、
pear upgrade-all
を行いましたか?
投稿者: ANN@管理人 | 2006年06月06日 11:17
日時: 2006年06月06日 11:17
同じ問題にぶつかりましたが、この記事のおかげですぐ解決できました。ありがとうございました。私はXML/Unserializerを使おうとしたらこうなりました。Amazonのやつでも原因はこれかも知れません。
投稿者: あや | 2007年09月28日 20:50
日時: 2007年09月28日 20:50