PHP Fatal error: Class ‘DOMDocument’ not foundに悩まされ

Filed under php, Zend Framework

昨日から以下のようなエラーに頭を抱えていました。

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のおすすめ書籍


Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*