PHP:是否已加载SimpleXML?

Depositphotos 11843590年代

我构建了几个需要PHP5 +和 SimpleXML的。 SimpleXML是一种解析来自以下位置的XML响应的更简单,性能更好的方法: APIs。 但问题是,我每天或每周都会收到几封电子邮件,问我为什么用户无法加载程序并导致错误。

显然,我对插件和项目页面的注意还不够,所以我做了正确的事,并向两个插件添加了功能以验证是否已加载SimpleXML扩展。

用于检查是否已加载SimpleXML扩展的PHP函数:

函数isSimpleXMLLoaded(){$ array = array(); $ array = get_loaded_extensions(); $ result = false; foreach($ array as $ i => $ value){if(strtolower($ value)==“ simplexml”){$ result = true; 返回$ result; }

现在,在使用SimpleXML的函数中,我可以简单地确保在实际尝试SimpleXML调用之前就已加载它。 如果

如果(!isSimpleXMLLoaded()){echo“将您的网站托管在其他地方!”; 返回; }

我知道我有一些PHP专家来关注我的博客,让我知道我的工作方式! 我已经发布了两个插件的次要更新,以利用此方法。

6条评论

  1. 1

    嗨道格,

    我确实注意到了一个可能不会引发错误的错误。

    if ($value = "SimpleXML") { $result = true; }

    应该

    if ($value == “SimpleXML”) { $result = true; }

    虽然是为了安全。 我更喜欢。

    if (strtolower($value) == “simplexml”) { $result = true; }

    您还可以使用“extension_loaded”来检查扩展名(区分大小写)。

    $loaded = extension_loaded(“SimpleXML”);

    返回 TRUE 或 FALSE。

    PS不要自己喝咖啡,但我可以放一个“给我买一盒甜甜圈”按钮🙂

  2. 4

    yum install php55-xml.x86_64 为 php 5.5.11 安装 simpleXML

    运行事务
    安装:php55-xml-5.5.11-1.el6.x86_64 1/1
    验证:php55-xml-5.5.11-1.el6.x86_64 1/1

    然后它安装了
    /usr/lib64/php/modules/simplexml.so

  3. 5

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.