'DOMDocument' sınıfı bulunamadı


209

Magento uygulamamın bir sayfasında bir hata buldum; ziyaret ettiğimde her zaman bu mesaj hatasını gösterir:

Önemli hata: 95 numaralı satırda /home/.../lib/Zend/Feed/Abstract.php içinde 'DOMDocument' sınıfı bulunamadı

Bana bir çözüm verebilir misin? Magento 1.4.1.1 kullanıyorum.


1
Bu cevap (php-xml'yi etkinleştir) tutarlı görünüyor, neden sadece test etmek yerine şüphe ediyorsun? Birkaç google
aramadan

1
Ben sadece "yum install php-xml" denediğimde korkuyorum, benim magento sitesi rahatsız edecek ..
ws_123 18:13 '

DomDocumentbunun yerine DOMDocumentbazen bu sorunu çözebilir.
jirarium

Yanıtlar:


300

DOM uzantısını yüklemeniz gerekir . Debian / Ubuntu üzerinde şunları yapabilirsiniz:

sudo apt-get install php-dom

Ve Centos / Fedora / Red Hat'ta:

yum install php-xml

PHP 5 ve PHP 5.3 paketleri arasında çakışmalar olursa, php53-xmlbunun yerine paketin var olup olmadığını görmeyi deneyebilirsiniz .


31
php-xml yüklemek benim için bunu çözdü ama 'hizmet httpd yeniden başlatma' unutmayın
zzapper

2
@zzapper teşekkürler, bu beni raylara getirdi! Benim durumumda apache2'yi yeniden başlatmam gerekiyordu service apache2 restart.
Shautieh

2
daha sonra
apache'yi

5
PHP7 için bu sadece php-doc.
Jared

9
Benim için:sudo apt-get install php7.1-xml
Rafael Barros

160

PHP 7.0 :

  • Ubuntu: apt-get install php7.0-xml
  • CentOS / Fedora / Kırmızı Şapka: yum install php70w-xml

PHP 7.1 :

  • Ubuntu: apt-get install php7.1-xml
  • CentOS / Fedora / Kırmızı Şapka: yum install php71w-xml

PHP 7.2 :

  • Ubuntu: apt-get install php7.2-xml
  • CentOS / Fedora / Kırmızı Şapka: yum install php72w-xml

PHP 7.3 :

  • Ubuntu: apt-get install php7.3-xml
  • CentOS / Fedora / Kırmızı Şapka: yum install php73w-xml

PHP 7.4 :

  • Ubuntu: apt-get install php7.4-xml
  • CentOS / Fedora / Kırmızı Şapka: yum install php74w-xml

10
daha sonra
apache'yi

Ben PHP 7 (7.0.15-1 ~ dotdeb + 8.1) Nginx VS (Docker aracılığıyla) üzerinde çalışıyorum ve bu bir cazibe gibi çalıştı! `` Docker-compose restart '' yapmayı unutmayın!
StephanieQ

1
PHP 7.2, CentOS yum install php72w-xmlve sonra yeniden başlatma hizmeti
Silvan

Bir yok mudur php-xmltakma / sanal paket?
binki

Bu aynı zamanda php7.3 ila 7.4 geçişi ile ortaya çıkmaya başlamaktadır. Web sunucusu PHP modülü 7.3 ve php-xml 7.4 olduğunda. Tutarlı bir PHP sürümüne (her ikisinden biri) güncelleme yapmak işe yarar.
Amos Jeffries

26

PHP7: en son sürüm:

sudo apt-get install php7.1-xml

ayrıca şunları da yapabilirsiniz:

sudo apt-get install php-dom

ve apt-get size nerede olduğunu gösterecek


6

Centos kullanıyorum ve aşağıdakiler benim için çalıştı, bu komutu çalıştırıyorum

yum --enablerepo remi install php-xml

Ve bu komutla Apache'yi yeniden başlattı

sudo service httpd restart

3
Teşekkürler, sunucuyu yeniden başlatmak çalıştı! service apache2 restartUbuntu üzerinde yapmak zorunda kaldım .
user3413723

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 sürümü kullanan herkesin bu şekilde devam etmesi durumunda

sudo apt-get install php5.6-xml

Php Ver PHP7, Ubuntu için:

sudo apt-get install php7.1-xml

veya tarafından

yum install php-xml

4

Boş bir PHP dosyası oluşturun ve sadece <?php phpinfo();içine koyun, bir tarayıcıya bakın.
Eğer nokta eğer kontrol --disable-domaşağıdaki listede DOM uzantısı hakkında ayrıntıları görebilirsiniz eğer ya / yapılandırma seçenekleri ve.

Listede DOM'u göremiyorsanız veya devre dışı bırakıldığını görürseniz, PHP kurulumunuz DOM uzantısını içermez. Bunu düzeltmek için PHP kurulumunuzu kaynaktan yeniden derlemeniz gerekir.


i - Yapılandırma Komutu - disisable-dom buldum, sonra ne yapmalıyım?
ws_123

Bu sisteminize bağlıdır. En kötü durumda PHP'yi sıfırdan derlemek zorundasınız.
deceze

Configure seçeneğine güvenmek çoğu zaman bir hatadır, blog.remirepo.net/post/2010/09/29/phpinfo-BUG-or-PEBKAC adresini okuyun, bu nedenle bazı dağıtımlarda (debian, fedora ... )
Remi Collet

1
Kaynaktan derlenmişse kullanabilirsiniz--enable-dom
DidThis

3

Bu yardım benim için (Ubuntu Linux) PHP 5.6.3

sudo uygun-get install php5.6-dom

Bu benim için çalışıyor.


1

Kök olarak Suse Linux (Linux linux 3.16.7-48-default) ve PHP 5.6.1 kullanıldığında, bu yardımcı oldu:

zypper in php5-dom

artı yeniden başlat

systemctl restart apache2

1

Fedora 26'da:

dnf install php-dom

Düzeltir!


1

Centos 7 ve php 7.1 için:
yum php71w-xml
apachectl restart'ı yükleyin


1

Kaynaktan derleme --disable-allyapılıyorsa DOMDocument desteği aşağıdakilerle etkinleştirilebilir:
--enable-dom

Misal:

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

Centos7 ve PHP7 için test edilmiş ve çalışıyor


1

Virtualmin ve üç PHP sürümü ile CentOS 7 kullanıyorum. Ayrıca REMI repo'yu etkinleştirdim. benim için çalıştı:

Aşama 1:

Bunun gibi PHP ana sürüm numarasını ekleyin php{version number}-xml. Ve koşyum install

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

Adım 2:

Apache'yi yeniden başlatmayı unutmayın:

service httpd restart

0

Magento'yu yüklemek için PHP7.0 kullanıyorsanız, tüm komutları bu komutla yüklemenizi öneririm

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 gereksinimini karşılamak için birkaç kez Google'a ihtiyacım var.

Başka bir PHP sürümü kullanıyorsanız PHP sürümünü 7.x ile değiştirebileceğinizi düşünüyorum

Ve yeni uzantıları yüklemek için Apache'yi yeniden başlatmanız gerekiyor

sudo service apache2 restart

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.