PHP 7 simpleXML

2022-08-30 08:18:45

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

答案 1

我遇到了同样的问题,我正在使用Ubuntu 15.10。

就我而言,为了解决这个问题,我使用Synaptic包管理器安装了php7.0-xml包,其中包括SimpleXml。因此,重新启动Apache服务器后,我的问题得到了解决。这个软件包有 Debian 版本,你可以在这里找到它:https://packages.debian.org/sid/php7.0-xml


答案 2

对于所有使用 Ubuntu 和 PPA 的人来说,这将解决这个问题:ppa:ondrej/php

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

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

感谢@Alexandre巴博萨指出这一点!

编辑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已经快两年了,它就像魅力一样工作)


推荐