वर्ग 'DOMDocument' नहीं मिला


209

मुझे अपने Magento आवेदन में एक पृष्ठ पर एक त्रुटि मिली है; जब मैं इसे देखता हूं तो यह संदेश त्रुटि दिखाता है:

घातक त्रुटि: कक्षा 'DOMDocument' को लाइन 95 पर /home/../lib/Zend/Feed/Abstract.php में नहीं मिला

क्या आप मुझे कोई समाधान दे सकते हैं? मैं Magento 1.4.1.1 का उपयोग कर रहा हूं।


1
यह उत्तर (php-xml सक्षम करें) सुसंगत लगता है, केवल इसे परीक्षण करने के बजाय इसमें संदेह क्यों है? कुछ Google खोजों से यह संभव मुद्दों में से एक प्रतीत होता है
कूपजाह

1
मैं बस
डरता

DomDocumentइसके बजाय DOMDocumentकभी-कभी इस समस्या को ठीक कर सकते हैं।
जिरारियम

जवाबों:


300

आपको DOM एक्सटेंशन इंस्टॉल करना होगा । आप Debian / Ubuntu का उपयोग करके ऐसा कर सकते हैं:

sudo apt-get install php-dom

और सेंटोस / फेडोरा / रेड हैट पर:

yum install php-xml

यदि आपको PHP 5 और PHP 5.3 पैकेज के बीच टकराव मिलता है, तो आप यह देखने की कोशिश कर सकते हैं कि php53-xmlपैकेज मौजूद है या नहीं।


31
php-xml स्थापित करने से मेरे लिए यह हल हो गया लेकिन 'सेवा httpd पुनः आरंभ' मत भूलना
zzapper

2
@zzapper धन्यवाद, कि मुझे रेल पर मिल गया! मेरे मामले में मुझे apache2 को पुनः आरंभ करने की आवश्यकता थी service apache2 restart
शुतिएह

2
बाद में अपाचे को फिर से शुरू करने के लिए याद रखें
जेमिक

5
PHP7 के लिए, यह सिर्फ है php-doc
जारेड

9
मेरे लिए:sudo apt-get install php7.1-xml
राफेल बैरोस

160

PHP 7.0 :

  • उबंटू: apt-get install php7.0-xml
  • CentOS / फेडोरा / रेड हैट: yum install php70w-xml

PHP 7.1 :

  • उबंटू: apt-get install php7.1-xml
  • CentOS / फेडोरा / रेड हैट: yum install php71w-xml

PHP 7.2 :

  • उबंटू: apt-get install php7.2-xml
  • CentOS / फेडोरा / रेड हैट: yum install php72w-xml

PHP 7.3 :

  • उबंटू: apt-get install php7.3-xml
  • CentOS / फेडोरा / रेड हैट: yum install php73w-xml

PHP 7.4 :

  • उबंटू: apt-get install php7.4-xml
  • CentOS / फेडोरा / रेड हैट: yum install php74w-xml

10
बाद में अपाचे को फिर से शुरू करने के लिए याद रखें
जेमिक

मैं एक नगीनेक्स वीएस (डॉकर के माध्यम से) पर PHP 7 (7.0.15-1 ~ dotdeb + 8.1) चला रहा हूं और यह एक आकर्षण की तरह काम करता है! 'Docker- रचना फिर से शुरू' करने के लिए मत भूलना!
StephanieQ

1
PHP 7.2, CentOS yum install php72w-xmlऔर फिर सेवा फिर से शुरू
सिलवान

क्या कोई php-xmlअन्य उपनाम / वर्चुअल पैकेज नहीं है?
बिंकी

यह भी php7.3 से 7.4 संक्रमण के साथ होने लगा है। जब वेब सर्वर PHP मॉड्यूल 7.3 और php-xml 7.4 पर आधारित है। एक सुसंगत PHP संस्करण (या तो एक) के लिए अद्यतन ठीक काम करता है।
आमोस जेफ्रीज

26

PHP7: नवीनतम संस्करण:

sudo apt-get install php7.1-xml

आप भी कर सकते हैं:

sudo apt-get install php-dom

और एप्ट-गेट आपको दिखाएगा कि वह कहां है


6

मैं सेंटोस का उपयोग कर रहा हूं और मेरे लिए काम कर रहा है, मैं इस कमांड को चलाता हूं

yum --enablerepo remi install php-xml

और इस कमांड के साथ अपाचे को फिर से शुरू किया

sudo service httpd restart

3
धन्यवाद, सर्वर को पुनः आरंभ करने से काम चल गया! मुझे service apache2 restartउबंटू पर करना था ।
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 वर्जन का उपयोग करना है तो इस तरह से जाएं

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 की स्थापना को फिर से करने की आवश्यकता होगी।


मैंने पाया - कॉन्फ़िगर-कमांड को कॉन्फ़िगर करने में डोम, मुझे आगे क्या करना चाहिए?
ws_123

जो आपके सिस्टम पर निर्भर करता है। सबसे खराब स्थिति आपको PHP को खरोंच से फिर से जोड़ने की है।
deceze

कॉन्फ़िगर करने के विकल्प पर भरोसा करना सबसे अक्सर एक गलती है, पढ़ें blog.remirepo.net/post/2010/09/29/phpinfo-BUG-or-PEBKAC इसलिए इसे कुछ गड़बड़ी (डेबियन, फेडोरा ... में phpinfo आउटपुट से हटा दिया गया है ... )
रेमी कोलेट

1
यदि स्रोत से संकलित किया जाता है, तो आप इस्तेमाल कर सकते हैं--enable-dom
DidThis

3

यह मेरे लिए (उबंटू लिनक्स) PHP 5.6.3 की मदद करता है

sudo apt-get install php5.6-dom

Thats मेरे लिए काम करते हैं।


1

Suse Linux (Linux linux 3.16.7-48-default) और PHP 5.6.1 को रूट के रूप में उपयोग करते हुए, इससे मदद मिली:

zypper in php5-dom

प्लस पुनरारंभ

systemctl restart apache2

1

फेडोरा 26 पर:

dnf install php-dom

इसे ठीक करता है!


1

Centos 7 और php 7.1 के लिए:
yum स्थापित करें php71w-xml
apachectl पुनरारंभ


1

यदि स्रोत से संकलन --disable-allतब DOMDocument समर्थन के साथ सक्षम किया जा सकता है
--enable-dom

उदाहरण:

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

परीक्षण और Centos7 और PHP7 के लिए काम कर रहा है


1

मैं CentOS 7 को virtualmin और तीन PHP संस्करणों के साथ उपयोग कर रहा हूं। मैं भी रेमी रेपो सक्षम है। यह मेरे लिए काम किया:

चरण 1:

बस PHP प्रमुख संस्करण संख्या इस तरह संलग्न करें php{version number}-xml। और भाग खड़ा हुआyum install

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

चरण 2:

अपाचे को पुनः आरंभ करने के लिए मत भूलना:

service httpd restart

0

यदि आप Magento को स्थापित करने के लिए PHP7.0 का उपयोग कर रहे हैं, तो मैं इस कमांड द्वारा सभी एक्सटेंशन स्थापित करने का सुझाव देता हूं

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.