web-dev-qa-db-ja.com

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
61
user101289

私は同じ問題を抱えていて、私はUbuntu 15.10を使用しています。

私の場合は、この問題を解決するために、SimpleXmlを含むSynapticパッケージマネージャーを使用してphp7.0-xmlパッケージをインストールしました。だから、私のApacheサーバを再起動した後、私の問題は解決した。このパッケージはDebian版で提供されており、こちらから入手できます。 https://packages.debian.org/sid/php7.0-xml

86

ppa:ondrej/php PPAでUbuntuを使用しているすべての人にとって、これは問題を解決するでしょう:

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があることも確認されます。現在2年近くOndřejのPHP ppaを使用していますが、これは魅力のように機能します)。

58
Flatron

Ubuntu 14.04の場合

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

Sudo apt-get install php-xml

私のために働いた。

15
Deepak R

私はWindows(Ubuntu 16.04)でBashを使用していて、php7.0-xmlでインストールしたところ、Symfony 3.2.7 PHPの要件に対応しています。

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

Alpine(docker)では、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
9
terwxqian

通常Debianシステムでは、ApacheモジュールのようにCLIとPHPの実行に異なるPHP設定があります。あなたのphpinfoページはウェブサーバ経由で有効になっているとしてsimplexmlを表示するかもしれませんが、それはCLI経由で有効にされていません。

2
Mike Brant

AWS Linux 2で同じ問題が発生した場合、phpinfo()はSimpleXMLがインストールされているが機能していないことを示します。cmd以下では私の問題は解決しました

Sudo yum install php-xml
1
BlueP