在 puphpet PHP 5.6 上找不到类“SimpleXMLElement”
Posted
技术标签:
【中文标题】在 puphpet PHP 5.6 上找不到类“SimpleXMLElement”【英文标题】:Class 'SimpleXMLElement' not found on puphpet PHP 5.6 【发布时间】:2016-05-15 10:00:30 【问题描述】:我已经被这个错误困扰了好几个小时了,我似乎在互联网上找不到任何有用的信息。错误是经典
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
有什么建议吗?
谢谢
更新
只是为了添加这个
【问题讨论】:
【参考方案1】:我遇到了这个问题,最后通过运行以下命令解决了:
apt install php5.6-xml
重新加载并重启apache2服务后:
service apache2 reload
service apache2 restart
可能需要重新启动 PHP
systemctl restart php-fpm
【讨论】:
【参考方案2】:如果您在 AWS Cloud 9 中运行 ubuntu。然后从您的菜单栏->窗口->新建终端->输入 sudo apt install php-xml
【讨论】:
【参考方案3】:问题是我使用的是 Cent OS,而在这个 Linux 发行版中,php-libxml
包不是默认的。
我最终通过 PuPHPet GUI 生成了一台新机器,并在系统包中添加了以下要安装的包:
php-xml, php-simplexml
问题解决了。
对于使用 PHP 7 和 Ubuntu 的用户,@MPS 通过运行 apt-get install php7.0-xml
和 service apache2 restart
解决了这个问题。
在 Centos 上,我们需要安装 XML php 包。如果您使用 PHP 7.0 的 php70w 存储库,您可以尝试 yum install php56w-xml
或 yum install php70w-xml
【讨论】:
谢谢,它对我有用。对于使用 PHP7 版本的其他人:apt-get install php7.0-xml
并且不要忘记 apache 重启:service apache2 restart
对于 PHP 5.6 它是:apt-get install php5.6-xml
如果你使用 nginx 重启它,使用:sudo service nginx restart
以上是关于在 puphpet PHP 5.6 上找不到类“SimpleXMLElement”的主要内容,如果未能解决你的问题,请参考以下文章
php - include()在远程服务器上找不到路径[重复]