2016-11-12 155 views
1

我无法解决simplexml的问题。PHP 7 simpleXML致命错误

我刚刚在aws linux/ubuntu上用apache2服务器设置了一个ec2实例,并试图安装商店软件。

问题:

Fatal error: Call to undefined function XXX\Recovery\Install\simplexml_load_file() in /var/www/XXX/recovery/install/src/Requirements.php on line 104 

搜索已知问题。我想出了手动安装的PHP软件包。检查的phpinfo和php -m之后我asume,继模块安装:

[PHP Modules] 
calendar 
Core 
ctype 
curl 
date 
dom 
exif 
fileinfo 
filter 
ftp 
gd 
gettext 
hash 
iconv 
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 

但我不知道,如果他们启用。我是否需要在我的php.ini文件中手动启用simplexml?如何正确执行此操作?

版本信息:

PHP 7.0.12-1+deb.sury.org~xenial+1 (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.12-1+deb.sury.org~xenial+1, Copyright (c) 1999-2016, by Zend Technologies 

感谢您的帮助。

回答

1

不,你不能启用它在php.ini

你可以检查它与phpinfo启用:

<?php 
    echo phpinfo(); 
    ?> 

或者使用命令行:

php -i | grep -i simplexml 

我会尝试重新安装因为它应该默认启用:

sudo apt-get install php7.0-xml

+0

感谢您的帮助。你的回答非常有帮助。我搞砸了php5.6&php7的安装。 –

+0

我的荣幸@BenediktSchmeitz,感谢您分享您的解决方案 – Khaled

3

解决方案:

我更新了丢失的包

sudo apt-get install php7.0-xml 

(我还安装了一些相关的XML图书馆的。有很多与谷歌相关的帖子)。

之后,这并没有解决我的问题。原因是我搞砸了我的PHP安装。对于任何理由的Apache2与php5.6配置,以便为我工作:

sudo a2dismod php5.6 
sudo a2enmod php7.0 
sudo service apache2 restart 

希望这可以节省某人一段时间,在未来。