2016-11-12 4 views
1

Я не могу решить проблему с помощью simplexml.PHP 7 simpleXML фатальная ошибка

Я только что установил экземпляр ec2 на aws linux/ubuntu с сервером apache2 и попытался установить витрину.

Проблема:

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 я предполагаю, что установлены следующие модули:

[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 

Но я не уверен, если их включен. Мне нужно включить simplexml вручную в файл php.ini? Как это сделать правильно?

Информация о версии:

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 Librarys. В Google есть много сообщений, связанных с этим).

Впоследствии это не решило мою проблему. Причина в том, что я испортил установку php. По какому-либо причине apache2 был настроен php5.6 так что для меня работал:

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

Надеется, что это спасает кого-то какое-то время в будущем.

Смежные вопросы