【问题标题】:How to Test Whether SimpleXML is installed on my PHP or not?如何测试 SimpleXML 是否安装在我的 PHP 上?
【发布时间】:2011-10-10 02:46:11
【问题描述】:

有人知道吗?那个东西是默认安装的。但是有没有一种简单的方法来检查是否安装了扩展?

我检查了 simplexml_load_string 是否对我可用,但是 simplexml 怎么没有在 php.ini 中列出

【问题讨论】:

  • phpinfo(); 会告诉你当前安装了哪些模块..

标签: php mysql vb.net


【解决方案1】:

还有另一种方法。你可以创建一个php页面

    <?php
     echo phpinfo();
    ?>

您可以在此处查看启用或禁用的简单 XML。

【讨论】:

  • 我将它包装在一个 div 中,并将 display 设置为 none,以便在实时站点上快速检查,然后在确认后将其删除。非常感谢!
【解决方案2】:

这对我有用...

extension_loaded('simplexml')

示例:

if (extension_loaded('simplexml')) {

    echo "all good, extension is installed";

} else{ echo "snip snap! no cigar";}    

【讨论】:

    【解决方案3】:

    在命令行上使用这个命令:

    php -i | grep -i simplexml

    结果应该是这样的:

    SimpleXML

    Simplexml 支持 => 启用

    【讨论】:

      【解决方案4】:

      如果您的盒子有命令行访问权限; 要么使用你的操作系统的包管理系统,要么运行php -m,它应该列出PHP 知道的所有已安装模块。 任何已安装但未在 php.ini 或其他任何地方注册为扩展的模块都不会显示。

      编辑

      需要注意的是,运行此命令只会告诉您为 PHP 的 CLI 二进制/配置启用了哪些扩展。这通常(但可能并不总是)与 Apache/FPM 二进制/配置启用的内容相匹配

      【讨论】:

      • +1 表示php -m 命令行选项。创建一个 PHP 脚本并为此必须打开一个 Web 浏览器是多余的。
      【解决方案5】:

      我使用的一种解决方案:

      if(class_exists('XMLReader')){
      
      }elseif(function_exists('simplexml_load_file')){
      //simplexml available
      }else{
      
      }
      

      【讨论】:

        【解决方案6】:
        echo '<pre>';
        print_r( get_loaded_extensions());
        echo '</pre>';
        

        这将显示一个扩展列表。如果您希望您的应用程序巧妙地告诉您的用户他们的设置不会运行您的代码,那么只需使用 in_array()。

        编辑无论如何,在 5.2.6 上的 win32 上都是这种情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-11-25
          • 1970-01-01
          • 2019-05-23
          • 2023-04-06
          • 2016-07-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多