クラス「DOMDocument」が見つかりません


209

Magentoアプリケーションのページでエラーを見つけました。私がそれにアクセスすると、常にこのメッセージエラーが表示されます:

致命的エラー:クラス95の/home/.../lib/Zend/Feed/Abstract.phpにクラス「DOMDocument」が見つかりません

解決策をくれませんか。私はmagento 1.4.1.1を使用しています。


1
この答え(php-xmlを有効にする)は首尾一貫しているように見えますが、単にテストするのではなく、なぜ疑うのですか?いくつかのグーグル検索から、それは考えられる問題の1つであるようです
koopajah 2013年

1
私はちょうど恐怖私は、それは私のMagentoのサイトを邪魔します「のyumのphp-xmlのインストール」してみてください...
ws_123

DomDocument代わりにDOMDocument時々この問題を修正することができます。
ジラリウム

回答:


300

DOM拡張機能をインストールする必要があります。Debian / Ubuntuでは次のようにしてこれを行うことができます:

sudo apt-get install php-dom

Centos / Fedora / Red Hatの場合:

yum install php-xml

PHP 5とPHP 5.3のパッケージ間で競合が発生した場合は、php53-xml代わりにパッケージが存在するかどうかを確認することができます。


31
php-xmlをインストールすると、この問題は解決しましたが、「service httpd restart」を忘れないでください
zzapper

2
@zzapperありがとう、レールに乗れたよ!私の場合、apache2を再起動する必要がありましたservice apache2 restart
Shautieh 2016年

2
その後、Apacheを再起動することを忘れないでください
Jahmic '29年

5
PHP7の場合、それだけphp-docです。
Jared

9
私にとって:sudo apt-get install php7.1-xml
Rafael Barros

160

PHP 7.0

  • Ubuntu: apt-get install php7.0-xml
  • CentOS / Fedora / Red Hat: yum install php70w-xml

PHP 7.1

  • Ubuntu: apt-get install php7.1-xml
  • CentOS / Fedora / Red Hat: yum install php71w-xml

PHP 7.2

  • Ubuntu: apt-get install php7.2-xml
  • CentOS / Fedora / Red Hat: yum install php72w-xml

PHP 7.3

  • Ubuntu: apt-get install php7.3-xml
  • CentOS / Fedora / Red Hat: yum install php73w-xml

PHP 7.4

  • Ubuntu: apt-get install php7.4-xml
  • CentOS / Fedora / Red Hat: yum install php74w-xml

10
その後、Apacheを再起動することを忘れないでください
Jahmic '29年

私は(Dockerを介して)Nginx VSでPHP 7(7.0.15-1〜dotdeb + 8.1)を実行していますが、これは魅力のように機能しました!`docker-compose restart 'を忘れずに!
StephanieQ

1
PHP 7.2、CentOS yum install php72w-xml、その後サービスを再開
Silvan '16

php-xmlエイリアス/仮想パッケージはありませんか?
binki 2018年

これは、php7.3から7.4への移行でも発生し始めています。WebサーバーのPHPモジュールが7.3に基づいており、php-xmlが7.4である場合。一貫性のあるPHPバージョン(どちらか一方)に更新しても問題ありません。
Amos Jeffries

26

PHP7:最新バージョン:

sudo apt-get install php7.1-xml

あなたも行うことができます:

sudo apt-get install php-dom

apt-getはそれがどこにあるかを表示します


6

私はCentosを使用しており、以下がうまくいきました。このコマンドを実行します

yum --enablerepo remi install php-xml

そして、このコマンドでApacheを再起動しました

sudo service httpd restart

3
ありがとう、サーバーの再起動はうまくいきました!私はservice apache2 restartubuntuでやらなければなりませんでした。
user3413723 2017

6
Package php-dom is a virtual package provided by:
  php7.1-xml 7.1.3+-3+deb.sury.org~xenial+1
  php7.0-xml 7.0.17-3+deb.sury.org~xenial+1
  php5.6-xml 5.6.30-9+deb.sury.org~xenial+1
You should explicitly select one to install.

5.6バージョンを使用している人がこの方法で行く場合

sudo apt-get install php5.6-xml

Php Ver PHP7、Ubuntuの場合:

sudo apt-get install php7.1-xml

または

yum install php-xml

4

空のPHPファイルを作成して、その中にのみ置き<?php phpinfo();、ブラウザで確認します。構成オプションを
見つけ--disable-domられるかどうか、および/または以下のリストでDOM拡張機能の詳細を確認できるかどうかを確認してください。

リストにDOMが表示されない場合、または無効になっている場合は、PHPインストールにDOM拡張機能が含まれていません。それを修正するには、ソースからPHPインストールを再コンパイルする必要があります。


Configureコマンドで--disable-domを見つけました。次に何をすればよいですか?
ws_123 2013年

それはあなたのシステムに依存します。最悪の場合、PHPを最初から再コンパイルする必要があります。
だます

構成オプションに依存することはほとんどの場合間違いです。blog.remirepo.net/ post / 2010/09/29 / phpinfo-BUG-or-PEBKACを読んで、一部の配布(debian、fedora ...)のphpinfo出力から削除されました。 )
レミコレット

1
ソースからコンパイルした場合は、次のように使用できます--enable-dom
DidThis


1

rootとしてSuse Linux(Linux linux 3.16.7-48-default)とPHP 5.6.1を使用すると、これが役立ちました。

zypper in php5-dom

さらに再起動

systemctl restart apache2

1

fedora 26:

dnf install php-dom

それを修正します!


1


Centos 7およびphp 7.1の場合:yum install php71w-xml
apachectl restart


1

ソースからコンパイルする場合は--disable-all、DOMDocumentサポートを有効にできます。
--enable-dom

例:

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

Centos7とPHP7のテストと動作


1

CentOS 7とvirtualminおよび3つのPHPバージョンを使用しています。REMIリポジトリも有効にしています。それは私のために働きました:

ステップ1:

このようにPHPのメジャーバージョン番号を追加するだけphp{version number}-xmlです。そして走るyum install

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

ステップ2:

Apacheを再起動することを忘れないでください:

service httpd restart

0

PHP7.0を使用してMagentoをインストールする場合は、このコマンドですべての拡張機能をインストールすることをお勧めします

sudo apt-get install php7.0 php7.0-xml php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd libapache2-mod-php7.0 php7.0-intl php7.0-soap php7.0-zip php7.0-bcmath

Magentoの要件を満たすために、Googleに何度かアクセスする必要があります。

別のPHPバージョンを使用している場合は、PHPバージョンを7.xに置き換えることができると思います

新しい拡張機能を読み込むにはApacheを再起動する必要があります

sudo service apache2 restart

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.