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

Mar*_*leu 33 php apache puphpet

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

Fatal error: Class 'SimpleXMLElement' not found in 
/var/www/NavPHP/nav/plugin/log/NavLog.php on line 29
Run Code Online (Sandbox Code Playgroud)

我没有使用Namespace,所以这不是问题.

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

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

SimpleXML   Sterling Hughes, Marcus Boerger, Rob Richards
Run Code Online (Sandbox Code Playgroud)

有小费吗?

谢谢

更新

只是添加这个

在此输入图像描述

Mar*_*leu 77

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

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

php-xml, php-simplexml
Run Code Online (Sandbox Code Playgroud)

问题解决了.


对于那些使用PHP 7和Ubuntu的人来说,@ MPS通过运行apt-get install php7.0-xml和解决了它service apache2 restart.

在Centos上,我们需要安装XML php包.您可以尝试yum install php56w-xml或者yum install php70w-xml如果您正在使用php70w存储库来支持PHP 7.0

  • 谢谢,它对我有用.对于使用PHP7版本的其他人:```apt-get install php7.0-xml```并且不要忘记apache restart:```service apache2 restart``` (13认同)
  • 对于PHP 5.6,它是:apt-get install php5.6-xml (4认同)

小智 6

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

apt install php5.6-xml
Run Code Online (Sandbox Code Playgroud)

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

service apache2 reload   

service apache2 restart
Run Code Online (Sandbox Code Playgroud)