我在Magento应用程序的某一页上发现了一个错误;它总是显示这个消息错误时,我访问它:

致命错误:在/home/……/lib/ zend / feed / abstract .php第95行中找不到类“DOMDocument”

你能给我一个解决办法吗?我使用的是magento 1.4.1.1。


当前回答

使用Suse Linux (Linux Linux 3.16.7-48-default)和PHP 5.6.1作为根用户,这有助于:

zypper in php5-dom

+重启

systemctl restart apache2

其他回答

创建一个空的PHP文件,只放<?php phpinfo ();在浏览器中查看它。 检查你是否能在配置选项中发现——disable-dom和/或你是否能在下面的列表中看到关于DOM扩展的详细信息。

如果您在列表中看不到DOM,或者您看到它被禁用,那么您的PHP安装不包括DOM扩展。为了解决这个问题,您需要从源代码重新编译PHP安装。

使用Suse Linux (Linux Linux 3.16.7-48-default)和PHP 5.6.1作为根用户,这有助于:

zypper in php5-dom

+重启

systemctl restart apache2

安装DOM扩展。

Debian / Ubuntu:

sudo apt-get update
sudo apt-get install php7.4-xml
sudo service apache2 restart

Centos / Fedora / Red Hat:

yum update
yum install php74w-xml
systemctl restart httpd

对于以前的PHP版本,请替换为您的版本。

在我的情况下,问题是它是在php文件顶部的名称空间的使用,例如:

namespace MediaWiki\Extensions\ParserFunctions;

要解决这个问题,添加以下行:

use DOMDocument;

因此,如果已经安装了dom或xml,则不需要安装它们。这是一个php语言陷阱。

您需要安装DOM扩展。你可以在Debian / Ubuntu上使用:

sudo apt-get install php-dom

Centos / Fedora / Red Hat:

yum install php-xml

如果你发现PHP包之间有冲突,你可以试着查看特定的PHP版本包是否存在:例如,如果你的系统运行PHP5.3,那么php53-xml。