simplexml_load_string()函数未定义

4

调用未定义的函数simplexml_load_string()

我们服务器上所有站点都出现了这个错误。一切正常运行,直到今天突然出现了这个错误。

我已经检查了Simplexml并确认它已安装在服务器上。以下是错误信息:

致命错误:在... / lib / Varien / Simplexml / Config.php的第510行中调用未定义的函数simplexml_load_string()


今天我也遇到了同样的问题。昨天一切都很好。 - Tom
进一步的故障排除显示如下: 当我进入命令行并输入php -m时,可以在列表中看到SimpleXML。但是,如果我在服务器上创建一个文件,并尝试extension_loaded("SimpleXML"),它会返回false。 - Tom
这是一些XML文件错误,请检查重新发送更改后的XML文件。 - Jenith Samuel
3个回答

0
今天我遇到了同样的问题。 我尝试检查是否加载了扩展程序,并且我正在获得true(来自命令行)。 然后我发现我正在使用多个php版本,并且相关站点正在使用php5.4,由于某种原因无法处理simplexml。
由于我在cPanel/WHM环境中,我运行了

yum install ea-php54-php-simplexml

这个修复了问题。这是针对EasyApache4的。也许你可以根据你的Linux版本更新simplexml。


当我尝试运行yum install ea-php-70-php-simplexml时,它显示:Package ea-php70-php-xml-7.0.19-3.3.1.cpanel.x86_64已经安装并且是最新版本。无需操作。 有什么想法吗?还有人们为什么会在同一天遇到同样的问题? - Tom
你是否可能没有为这个特定的网站使用 PHP 7?cPanel 和 php56+ 允许同时安装多个 PHP 版本。我的问题是,所涉及的网站正在使用 PHP 5.4,因此我需要执行 yum install ea-php54.... 等操作。至于同一天出现的问题,我猜测这可能与 cPanel 的更新有关。 - Shardon
我只启用了整个服务器的php 7,并没有其他版本处于活动状态。 - Tom

0

安装最新的扩展程序解决了这个问题。

yum install ea-php56-php-simplexml


0

可能已经晚了,但供将来的读者参考。
我遇到了几乎相同的问题,问题是控制台中的 php.ini 文件路径与从 Apache 服务器提供的网页的 php.ini 路径不同。

既然你说通过 php -m i 可以看到 SimpleXML,也许你需要编辑不同的 ini 文件。
你可以创建一个包含以下内容的 php 文件:<?php phpinfo(); 并检查 Loaded Configuration File 值,确保你正在编辑正确的文件。

如果你需要安装 SimpleXML,请阅读这篇文章


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接