Class 'SimpleXMLElement' 在 puphpet 上找不到 PHP 5.6

Class 'SimpleXMLElement' not found on puphpet PHP 5.6

我已经被这个错误困住了好几个小时了,我似乎无法在 Internet 上找到任何有用的信息。错误是 classic

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设置一个虚拟环境,但是我得到这个错误。

根据文档,SimpleXMLElement class 应该默认带有 PHP。我没有在 php.ini 上找到任何重要信息,在我的 phpinfo() 中有以下内容:

SimpleXML   Sterling Hughes, Marcus Boerger, Rob Richards

有什么建议吗?

谢谢

更新

只是添加这个

问题是我使用的是 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 包。如果您使用 php70w 存储库用于 PHP 7.0

,则可以尝试 yum install php56w-xmlyum install php70w-xml

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

apt install php5.6-xml

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

service apache2 reload   

service apache2 restart

并且可能需要 PHP 重启

systemctl restart php-fpm

如果您在 AWS Cloud 9 中 运行 ubuntu。然后从您的菜单栏->Window->新建终端->键入 sudo apt install php-xml