2010-11-23 157 views
0

我遇到了一個模塊,它使用PHP的DOM擴展通過CFPropertyList library到客戶端的服務器。嘗試運行模塊中的一個致命錯誤結束:「Class DOMImplementation」找不到「錯誤」的可能原因是什麼?

Fatal error: Class 'DOMImplementation' not found in /server/path/here/CFPropertyList/CFPropertyList.php on line 377

客戶端的服務器是很嚴重脫離過期(2.2.3的Apache,PHP 5.2.6,等等),這是另一個另一場戰鬥我可能會輸的前臺。然而,PHP的文檔DOMImplementation class表明PHP 5中增加了支持,所以5.2.6應該足夠好,儘管已經落後了多年(對吧?)。

看着phpinfo()的輸出建議安裝並啓用libxml,這將kibosh放在我的其他理論上。

的libxml phpinfo()輸出的部分:

libXML support active 
libXML Version 2.6.26 
libXML streams enabled 

可能我在看解釋這個錯誤是什麼其他原因?

+0

我在Ubuntu 16.04上有這個,我需要做的是安裝php-xml包。以爲我會提到,作爲一個快速的嘗試在同一平臺上的任何人。 – 2017-08-09 21:16:06

回答

3

使用--disable-dom開關,DOM可能在編譯時被禁用(對於編譯安裝)。或者,對於預編譯的PHP二進制文件(例如:使用apt,yum,rpm,alien,dpkg等進行安裝),未擴展或禁用DOM擴展。在您的php.ini中查找dom.so文件和匹配的條目。

libxml可能會安裝,但這並不意味着DOM是。

+0

我在`phpinfo()`掃描中錯過了`--disable-dom`編譯時指令。謝謝! – 2010-11-23 18:20:15

相關問題