提问者:小点点

PHP7SimpleXML


我正在测试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

共3个答案

匿名用户

我有同样的问题,我使用Ubuntu 15.10。

在我的例子中,为了解决这个问题,我使用Synaptic包管理器安装了php7.0-xml包,其中包括SimpleXml。所以,重启Apache服务器后,我的问题就解决了。这个包是Debian版本的,你可以在这里找到:https://packages.debian.org/sid/php7.0-xml.

匿名用户

对于所有使用Ubuntu的人来说,这将解决问题:

apt安装php7。0-Mb字符串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。我们使用Ondřej的php ppa已经将近两年了,它工作得很好)

匿名用户

对于Ubuntu 14.04和

PHP7.0。13-1黛布。苏里。组织~trusty 1(cli)(新界南部)

sudo apt-get install php-xml

为我工作。

相关问题