PHP 7 simpleXML

Я тестирую PHP7 и испытываю странную проблему после недавнего обновления. SimpleXML должен быть включен по умолчанию, а моя страница phpinfo показывает, что он доступен:

введите описание изображения здесь

Однако функции недоступны:

 <?php if (function_exists('simplexml_load_file')) { echo "simpleXML functions are available.<br />\n"; } else { echo "simpleXML functions are not available.<br />\n"; } // result-- NOT available 

И модуль не указан как загруженный:

 ~ $ php -m [PHP Modules] calendar Core ctype curl ... Reflection session shmop sockets SPL standard sysvmsg sysvsem sysvshm tokenizer Zend OPcache zlib 

Кто-нибудь знает, есть ли обходной путь для этого?

Информация о версии:

 ~ $ php -v PHP 7.0.3-8+deb.sury.org~trusty+2 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies 

Related of "PHP 7 simpleXML"

У меня была такая же проблема, и я использую Ubuntu 15.10.

В моем случае, чтобы решить эту проблему, я установил пакет php7.0-xml с помощью диспетчера пакетов Synaptic, который включает SimpleXml. Итак, после перезагрузки моего сервера Apache моя проблема была решена. Этот пакет появился в версии Debian, и вы можете найти его здесь: https://packages.debian.org/sid/php7.0-xml .

Для всех тех, кто использует Ubuntu с ppa:ondrej/php PPA, это устранит проблему:

apt install php7.0-mbstring php7.0-zip php7.0-xml

(см. https://launchpad.net/~ondrej/+archive/ubuntu/php )

Спасибо @Alexandre Barbosa за это!

EDIT 20160423:

Один-лайнер для устранения этой проблемы:

 sudo add-apt-repository -y ppa:ondrej/php && sudo apt update && sudo apt install -y php7.0-mbstring php7.0-zip php7.0-xml 

(это добавит ppa, упомянутое выше, и также обязательно будет иметь последнюю версию php. Мы используем PHPppa Ondřej в течение почти двух лет, и это работает как шарм)

Для Ubuntu 14.04 с

PHP 7.0.13-1 + deb.sury.org ~ trusty + 1 (cli) (NTS)

 sudo apt-get install php-xml 

работал на меня.

Я использую Bash для Windows (Ubuntu 16.04), и я только что установил с php7.0-xml, и теперь все работает для требований PHP Symfony 3.2.7.

 sudo apt-get install php7.0-xml 

Для Alpine (в докере) вы можете использовать apk add php7-simplexml .

—————— в centos ————————-

узнать, какой пакет предоставляет php-xml:

  yum provides php-xml 

затем из списка вывода выберите соответствующий, установите

 yum install php70u-xml-7.0.14-2.ius.centos7.x86_64 

Как правило, в системах Debian у вас есть другая конфигурация PHP для CLI, а для PHP – как Apache. Ваша страница phpinfo может очень хорошо показать, что simplexml включен с помощью веб-сервера, в то время как он не включен через CLI.