在PHP 5.6的puphpet上找不到类'SimpleXMLElement'

时间:2016-02-05 12:10:56

标签: php apache puphpet

我已经被困在这个错误几个小时了,我似乎无法在互联网上找到任何有用的东西。错误是经典

Fatal error: Class 'SimpleXMLElement' not found in 
/var/www/NavPHP/nav/plugin/log/NavLog.php on line 29

I'm not using Namespace所以这不是问题所在。

这是一个在生产中运行良好的项目,曾经在我以前使用WampServer和PHP 5.6.2的计算机上工作。现在我有了一台新电脑,我有兴趣用puphpet建立一个虚拟环境,但是我收到了这个错误。

根据Docs的说法,默认情况下SimpleXMLElement类应该附带PHP。我没有在php.ini和我的phpinfo()中找到任何重要信息,有以下内容:

SimpleXML   Sterling Hughes, Marcus Boerger, Rob Richards

任何提示?

由于

更新

只是添加这个

enter image description here

3 个答案:

答案 0 :(得分:75)

问题是我使用的是Cent OS,在这个Linux发行版中,php-libxml包不是默认的。

我最终通过PuPHPet GUI生成了一台新机器,并在系统包中添加了以下要安装的软件包:

php-xml, php-simplexml

问题解决了。

对于那些使用PHP 7和Ubuntu的人来说,@ MPS通过运行apt-get install php7.0-xmlservice apache2 restart解决了这个问题。

在Centos上,我们需要安装XML php包。如果你正在使用PHP70的php70w存储库,你可以尝试yum install php56w-xmlyum install php70w-xml

答案 1 :(得分:4)

我遇到了这个问题,最后通过运行以下命令来解决:

apt install php5.6-xml

重新加载并重新启动apache2服务后:

service apache2 reload   

service apache2 restart

答案 2 :(得分:0)

如果您正在AWS Cloud 9中运行ubuntu,则从菜单栏-> Window-> New Terminal->键入sudo apt install php-xml