问题
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.
来源:https://stackoverflow.com/questions/49447168/call-to-undefined-function-simplexml-load-file