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

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

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


当前回答

经过很长一段时间的痛苦,在PHPunit…

对于那些使用命名空间(这在框架或CMS中非常常见)的人来说,除了查看php-xml是否安装并处于活动状态外,还有一个很好的检查,就是记住在命名空间之后声明DOMDocument:

namespace YourNameSpace\YourNameSpace;

use DOMDocument; //<--- here, check this!

其他回答

PHP 8.2

Ubuntu: apt-get install php8.2-xml CentOS 8[与php:remi-8.2启用]:dnf安装php-xml

PHP 8.1

Ubuntu:安装php8.1-xml CentOS 8[与php:remi-8.1启用]:dnf安装php-xml

PHP 8.0

Ubuntu: apt-get install php8.0-xml CentOS 8[启用php:remi-8.0]: dnf install php-xml

我使用CentOS 7 virtualmin和三个PHP版本。我还启用了REMI回购。这招对我很管用:

步骤1:

只需要像PHP {version number}-xml这样添加PHP的主版本号。然后运行yum install

yum install php70-php-xml
yum install php71-php-xml
yum install php72-php-xml

步骤2:

不要忘记重新启动Apache:

service httpd restart

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

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

如果使用——disable-all从源代码编译,那么可以使用——disable-all启用DOMDocument支持 ——enable-dom

例子:

./configure --disable-all --enable-dom

测试并适用于Centos7和PHP7

这是PHP v 8.0的最新版本

sudo apt-get install php8.0-xml