I'm testing PHP7, and have a weird issue after a recent update. SimpleXML should be enabled by default, and my phpinfo
page shows that it is available:
However, the functions are not available:
<?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
And the module isn't listed as loaded:
~ $ php -m
[PHP Modules]
calendar
Core
ctype
curl
...
Reflection
session
shmop
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib
Anyone know if there's a workaround for this?
Version info:
~ $ 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
I had the same problem and I'm using Ubuntu 15.10.
In my case, to solve this issue, I installed the package php7.0-xml using the Synaptic package manager, which include SimpleXml. So, after restart my Apache server, my problem was solved. This package came in the Debian version and you can find it here: https://packages.debian.org/sid/php7.0-xml .
For all those using Ubuntu with ppa:ondrej/php
PPA this will fix the problem:
apt install php7.0-mbstring php7.0-zip php7.0-xml
(see https://launchpad.net/~ondrej/+archive/ubuntu/php )
Thanks @Alexandre Barbosa for pointing this out!
EDIT 20160423:
One-liner to fix this issue:
sudo add-apt-repository -y ppa:ondrej/php && sudo apt update && sudo apt install -y php7.0-mbstring php7.0-zip php7.0-xml
(this will add the ppa noted above and will also make sure you always have the latest php. We use Ondřej's PHP ppa for almost two years now and it's working like charm)
For Ubuntu 14.04 with
PHP 7.0.13-1+deb.sury.org~trusty+1 (cli) ( NTS )
sudo apt-get install php-xml
worked for me.
For Alpine (in docker), you can use apk add php7-simplexml
.
If that doesn't work for you, you can run apk add --no-cache php7-simplexml
. This is in case you aren't updating the package index first.
我在 Windows (Ubuntu 16.04) 上使用 Bash,我刚刚安装了 php7.0-xml,现在一切都可以满足 Symfony 3.2.7 PHP 要求。
sudo apt-get install php7.0-xml
------------------in centos-------------------------
yum provides php-xml
yum install php70u-xml-7.0.14-2.ius.centos7.x86_64
Because Google led me here, on Ubuntu 20.04 this works in 2020:
sudo apt install php7.4-xml
If on Apache2, remember to restart (probably not necessary):
sudo systemctl restart apache2
在 AWS Linux 2 上有同样的问题,phpinfo() 显示 SimpleXML 已安装但不工作,下面的 cmd 解决了我的问题
sudo yum install php-xml
Typically on Debian systems you have different PHP configuration for CLI and for PHP running as say an Apache module. Your phpinfo page may very well show simplexml as being enabled via web server, while it is not enabled via CLI.
For Ubuntu 18.04 and php7.3, install php7.3-xml
sudo apt-get install php7.3-xml
this will installl the required simplexml
my experience
get your php version
php --version
Instal package for your php version
sudo apt-get install php7.4-xml
Restart apache
sudo systemctl reload apache2
Use php -v //PHP 8.0.1
Check the latest version of simple xml here
https://pkgs.org/download/php-simplexml
sudo apt-get install php8.0-xml
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.