320 votes

Classe 'DOMDocument' introuvable

J'ai trouvé une erreur sur une page de mon application Magento ; elle affiche toujours ce message d'erreur lorsque je la visite :

Erreur fatale : Classe 'DOMDocument' non trouvée dans /home/.../lib/Zend/Feed/Abstract.php sur la ligne 95

Pouvez-vous me donner une solution ? J'utilise magento 1.4.1.1.

7voto

Fellipe Sanches Points 555

Après en avoir longtemps souffert en PHPunit...

Pour ceux qui utilisent l'espace de noms, ce qui est très courant avec les Frameworks ou les CMS, une bonne vérification, en plus de voir si php-xml est installé et actif, est de se rappeler de déclarer le DOMDocument après l'espace de noms :

namespace YourNameSpace\YourNameSpace;

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

4voto

deceze Points 200115

Créez un fichier PHP vide et mettez seulement <?php phpinfo(); dans ce document, regardez-le dans un navigateur.
Vérifiez si vous pouvez repérer --disable-dom dans les options de configuration et/ou si vous pouvez voir les détails de l'extension DOM dans la liste ci-dessous.

Si vous ne voyez pas DOM dans la liste ou si vous voyez qu'il est désactivé, votre installation de PHP n'inclut pas l'extension DOM. Vous devrez recompiler votre installation de PHP à partir des sources pour y remédier.

4voto

art Points 41

Dans mon cas, le problème venait de l'utilisation d'un namespace en haut du fichier php, exemple :

namespace MediaWiki\\Extensions\\ParserFunctions;

Pour résoudre ce problème, ajoutez la ligne suivante :

use DOMDocument;

Il n'est donc pas nécessaire d'installer dom ou xml s'ils sont déjà installés. C'est un piège du langage php.

3voto

Augusto Duncan Points 31

Cela m'aide (Ubuntu Linux) PHP 5.6.3

sudo apt-get install php5.6-dom

C'est ce qui me convient.

3voto

Jacman Points 34

Pour PHP 7.4 Installer l'extension 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

Pour les versions antérieures de PHP, remplacez par votre version.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X