PHP 7 simpleXML

PhpSimplexmlPhp 7

Php Problem Overview


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:

enter image description here

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

Php Solutions


Solution 1 - Php

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.

Solution 2 - Php

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)

Solution 3 - Php

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.

Solution 4 - Php

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.

Solution 5 - Php

I'm using Bash on Windows (Ubuntu 16.04) and I just installed with php7.0-xml and all is working now for the Symfony 3.2.7 PHP requirements.

sudo apt-get install php7.0-xml

Solution 6 - Php

------------------in centos-------------------------

find out which package provides php-xml:

 yum provides php-xml

then from the output list,select the appropriate one, install

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

Solution 7 - Php

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

Solution 8 - Php

Had the same problem on AWS Linux 2, phpinfo() shows SimpleXML installed but not working, below cmd solved my issue

sudo yum install php-xml

Solution 9 - Php

For Ubuntu 18.04 and php7.3, install php7.3-xml

    sudo apt-get install php7.3-xml

this will installl the required simplexml

Solution 10 - Php

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.

Solution 11 - Php

  1. Use php -v //PHP 8.0.1

  2. Check the latest version of simple xml here

https://pkgs.org/download/php-simplexml

  1. Mine was version 8 so
sudo apt-get install php8.0-xml

Solution 12 - Php

my experience

  1. get your php version

    php --version

  2. Instal package for your php version

    sudo apt-get install php7.4-xml

  3. Restart apache

    sudo systemctl reload apache2

Solution 13 - Php

in my case, you have to make sure about your php version.

php -v

example: if your php is PHP 7.4.28, than you have to write

sudo apt install php7.4-xml

see, instead to write all version, just write the first and second, than following with -xml

I have this issue and it's take time, until I understand how to write properly. hopefully it's work for you

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser101289View Question on Stackoverflow
Solution 1 - PhpAlexandre BarbosaView Answer on Stackoverflow
Solution 2 - PhpFlatronView Answer on Stackoverflow
Solution 3 - PhpDeepak RView Answer on Stackoverflow
Solution 4 - PhpbrismuthView Answer on Stackoverflow
Solution 5 - PhpWebLukeView Answer on Stackoverflow
Solution 6 - PhpterwxqianView Answer on Stackoverflow
Solution 7 - PhpRustyNoxView Answer on Stackoverflow
Solution 8 - PhpBluePView Answer on Stackoverflow
Solution 9 - PhpPankaj BhagatView Answer on Stackoverflow
Solution 10 - PhpMike BrantView Answer on Stackoverflow
Solution 11 - PhpSahil KashyapView Answer on Stackoverflow
Solution 12 - PhpelfTineView Answer on Stackoverflow
Solution 13 - PhpahmView Answer on Stackoverflow