PHP Fatal error: Class ‘DOMDocument’ not foundに悩まされ
昨日から以下のようなエラーに頭を抱えていました。
PHP Warning: Zend_Loader::include_once(DOMDocument.php) [function.Zend-Loader-include-once]: failed to open stream: No such file or directory in /home/…./ZendFramework/library/Zend/Loader.php on line 146
PHP Warning: Zend_Loader::include_once() [function.include]: Failed opening ‘DOMDocument.php’ for inclusion (include_path=’../app/framework/ZendFramework/library:../app/modules/default/models:.:/usr/share/pear:/usr/share/php’) in /home/…./ZendFramework/library/Zend/Loader.php on line 146
PHP Fatal error: Class ‘DOMDocument’ not found in /home/…./ZendFramework/library/Zend/Feed.php on line 195
Zend_Loader(Zend_Loader.php)というかZend_Loader_Autoloader(Zend/Loader/Autoloader.php)の問題かと思っていたが、
全然関係ないところでエラーになっているのがわかりました。
ただただ、Zend_FeedとかZend_Feed_RssとかでFeed処理をしたかっただけなのだが、これがでてた。
原因としては、至極簡単で、php自体をrpmというかyumで入れたわけですが、
xmlというかdomというかを扱うためのパッケージが足りなかったという事です。
以下の手順で復旧(利用できるように)できました。
※XML用のモジュールをインストールする
yum install php-xml※読み込み元のApacheを再起動する。
/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/httpd start
ということでした。
tar.gzのアーカイブからコンパイルとかしてる人は、
たぶん –with-dom とかでいけるんじゃないですかね。
ZendFrameworkのおすすめ書籍