我在Magento应用程序的某一页上发现了一个错误;它总是显示这个消息错误时,我访问它:
致命错误:在/home/……/lib/ zend / feed / abstract .php第95行中找不到类“DOMDocument”
你能给我一个解决办法吗?我使用的是magento 1.4.1.1。
我在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!
其他回答
您需要安装DOM扩展。你可以在Debian / Ubuntu上使用:
sudo apt-get install php-dom
Centos / Fedora / Red Hat:
yum install php-xml
如果你发现PHP包之间有冲突,你可以试着查看特定的PHP版本包是否存在:例如,如果你的系统运行PHP5.3,那么php53-xml。
PHP8:(最新版本)
sudo apt-get install php8.0-xml
PHP7:
sudo apt-get install php7.1-xml
你还可以:
sudo apt-get install php-dom
apt-get会告诉你它的位置。
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
如果使用——disable-all从源代码编译,那么可以使用——disable-all启用DOMDocument支持 ——enable-dom
例子:
./configure --disable-all --enable-dom
测试并适用于Centos7和PHP7
在我的情况下,问题是它是在php文件顶部的名称空间的使用,例如:
namespace MediaWiki\Extensions\ParserFunctions;
要解决这个问题,添加以下行:
use DOMDocument;
因此,如果已经安装了dom或xml,则不需要安装它们。这是一个php语言陷阱。