'DOMDocument'클래스를 찾을 수 없습니다


209

Magento 애플리케이션의 페이지에서 오류를 발견했습니다. 내가 방문하면 항상이 메시지 오류가 표시됩니다.

치명적인 오류 : 95 행의 /home/.../lib/Zend/Feed/Abstract.php에 'DOMDocument'클래스가 없습니다.

나에게 해결책을 줄 수 있습니까? magento 1.4.1.1을 사용하고 있습니다.


1
이 답변 (php-xml 사용)은 일관성이있는 것 같습니다. 왜 테스트하지 않고 의심합니까? 몇 가지 Google 검색에서 가능한 문제 중 하나 인 것 같습니다
koopajah

1
나는 "yum install php-xml"을 시도 할 때 겁이
난다

DomDocument대신 DOMDocument이 문제를 해결할 수도 있습니다.
jirarium

답변:


300

DOM 확장 을 설치해야합니다 . 데비안 / 우분투에서 다음을 수행 할 수 있습니다.

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

2
나중에 아파치를 다시 시작해야 함
Jahmic

5
PHP7의 경우 단지 php-doc입니다.
Jared

9
나를 위해 :sudo apt-get install php7.1-xml
라파엘 Barros

160

PHP 7.0 :

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

PHP 7.1 :

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

PHP 7.2 :

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

PHP 7.3 :

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

PHP 7.4 :

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

10
나중에 아파치를 다시 시작해야 함
Jahmic

Nginx VS (Docker를 통해)에서 PHP 7 (7.0.15-1 ~ dotdeb + 8.1)을 실행 중이며 매력처럼 작동했습니다! `docker-compose restart '를하는 것을 잊지 마십시오!
StephanieQ

1
PHP 7.2, CentOS yum install php72w-xml및 서비스 재시작
Silvan

가없는 php-xml별칭 / 가상 패키지는?
binki

이것은 또한 php7.3에서 7.4 로의 전환으로 발생하기 시작합니다. 웹 서버 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 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, 우분투 :

sudo apt-get install php7.1-xml

또는

yum install php-xml

4

빈 PHP 파일을 만들어서 파일에 넣고 <?php phpinfo();브라우저에서 확인하십시오. 구성 옵션에서
찾을 수 있는지 --disable-dom및 / 또는 아래 목록에서 DOM 확장에 대한 세부 사항을 볼 수 있는지 확인하십시오.

목록에 DOM이 보이지 않거나 비활성화되어 있으면 PHP 설치에 DOM 확장이 포함되지 않은 것입니다. PHP 설치를 소스에서 다시 컴파일하여 해결해야합니다.


Configure Command에서 --disable-dom을 찾았습니다. 다음에 어떻게해야합니까?
ws_123

시스템에 따라 다릅니다. 최악의 경우 PHP를 처음부터 다시 컴파일해야합니다.
죽음

구성 옵션에 의존하는 것은 종종 실수입니다. .blog.remirepo.net / post / 2010 / 09 / 29 / phpinfo-BUG-or-PEBKAC를 읽으면 일부 배포판 (debian, fedora ...에서 phpinfo 출력에서 ​​제거되었습니다 ... )
레미 콜렛

1
소스에서 컴파일하면 --enable-dom
DidThis

3

이것은 나를 위해 도움이됩니다 (Ubuntu Linux) PHP 5.6.3

sudo apt-get 설치 PHP5.6-dom

그게 나를 위해 일합니다.


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 install php71w-xml
apachectl restart


1

소스로 컴파일하면 --disable-allDOMDocument 지원을 사용하여 활성화 할 수 있습니다
--enable-dom

예:

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

Centos7 및 PHP7 테스트 및 작동


1

나는 virtualmin과 세 가지 PHP 버전으로 CentOS 7을 사용하고 있습니다. 또한 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.