2010-11-23 155 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

相关问题