it-swarm.com.ru

PHP 7 simpleXML

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

 enter image description here

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

<?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
59
user101289

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

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

81
Alexandre Barbosa

Для всех, кто использует 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 за указание на это!

Правка 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. Мы используем PHP ppa Ондржея уже почти два года, и он работает как шарм)

55
Flatron

Для Ubuntu 14.04 с

PHP 7.0.13-1 + deb.sury.org ~ верный + 1 (cli) (NTS)

Sudo apt-get install php-xml

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

13
Deepak R

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

Sudo apt-get install php7.0-xml
11
WebLuke

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

Если это не работает для вас, вы можете запустить apk add --no-cache php7-simplexml. Это в том случае, если вы не обновляете индекс пакета первым.

10
brismuth

------------------ в сентосах -------------------------

выясните, какой пакет предоставляет php-xml:

 yum provides php-xml

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

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

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

2
Mike Brant

Если бы в AWS Linux 2 была та же проблема, phpinfo () показывает, что SimpleXML установлен, но не работает, ниже cmd решил мою проблему

Sudo yum install php-xml
0
BlueP