在 puphpet PHP 5.6 上找不到类“SimpleXMLElement”

新手上路,请多包涵

几个小时以来,我一直被这个错误困住,而且我似乎无法在互联网上找到任何有用的信息。错误是经典

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

我没有使用命名空间,所以这不是问题。

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

根据 Docs,SimpleXMLElement 类默认情况下应随 PHP 一起提供。我没有在 php.ini 上找到任何重要信息,在我的 phpinfo() 中有以下内容:

 SimpleXML   Sterling Hughes, Marcus Boerger, Rob Richards

有小费吗?

谢谢

更新

只是为了添加这个

在此处输入图像描述

原文由 Marco Aurélio Deleu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 629
2 个回答

问题是我使用的是 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 包。您可以尝试 yum install php56w-xmlyum install php70w-xml 如果您使用 PHP 7.0 的 php70w 存储库

原文由 Marco Aurélio Deleu 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 apt install php5.6-xml

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

 service apache2 reload

service apache2 restart

并且可能需要重新启动 PHP

 systemctl restart php-fpm

原文由 Prabhu Nandan Kumar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏