24

I have php 7.0 running on my ubuntu server.

php -m command says:


[PHP Modules]
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

But still when I run my website, its log says "PHP Fatal error: Call to undefined function simplexml_load_file()"

IMSoP
  • 89,526
  • 13
  • 117
  • 169
Sneha Maheshwari
  • 419
  • 1
  • 3
  • 7
  • The PHP configuration used on the command-line is not necessarily the same one used when running the website. Try `phpinfo()` on a web page, or check your hosting configuration, to figure out what modules are loaded in that environment. – IMSoP Mar 26 '18 at 14:31
  • Simplexml is not loaded when checked using phpinfo(). But I tried enabling simplexml by command php a2enmod simplexml, still it does not gets enabled. The command does not gives error. Some site says restart /opt/php 7.0-fpm.. But the file is missing. – Sneha Maheshwari Mar 27 '18 at 04:38
  • did you find a solution? – Roman Jan 12 '19 at 15:23

2 Answers2

48

I had the same issue. I fixed it by installing php7.2-xml:

$ sudo apt-get install php7.2-xml
$ sudo systemctl reload apache2 

After that, SimpleXML got listed by php -m:

$ php -m | grep -i simple
SimpleXML
Diego Pino
  • 11,278
  • 1
  • 55
  • 57
3

I'm using ubuntu 18.04. When I checked for SimpleXML in module list, it was stated same like yours.

Then I check my phpinfo() which says it was pulling from different php version and not the same with php cli.

To check php cli version, I run php -v enter image description here

To check for phpinfo(), I put the function at the top of index.php of my script. enter image description here

After confirming that my phpcli version is different than whats in phpinfo,

I simply run this 2 command

sudo a2dismod php7.0

sudo a2enmod php7.3

Then restart my apache

sudo systemctl restart apache2

After that, I test again my phpinfo()

Now it is working.

enter image description here

Community
  • 1
  • 1
Apit John Ismail
  • 2,047
  • 20
  • 19