Call to undefined function simplexml_load_file(

2020-07-11 05:14发布

问题:

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()"

回答1:

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

$ apt-get install php7.2-xml

After that, SimpleXML got listed by php -m:

$ php -m | grep -i simple
SimpleXML


回答2:

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

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

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.