• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • apache_get_modules()

    (PHP 4 >= 4.3.2, PHP 5, PHP 7)

    获得已加载的Apache模块列表

    说明

    apache_get_modules(void): array

    获得已加载的Apache模块列表。

    返回值

    包含已加载的Apache模块的数组.

    更新日志

    版本说明
    5.0.0可用于Apache 1或PHP Apache 2filterAPI。在此之前,只可用于 Apache 2handlerAPI。

    范例

    apache_get_modules()示例

    <?php
    print_r(apache_get_modules());
    ?>
    

    以上例程的输出类似于:

    Array
    (
        [0] => core
        [1] => http_core
        [2] => mod_so
        [3] => sapi_apache2
        [4] => mod_mime
        [5] => mod_rewrite
    )
    
    <?php
    function apache_module_exists($module)
    {
      return in_array($module, apache_get_modules());
    }
    ?>
    
    this function can be used on older php versions using something like "/etc/httpd/httpd.conf" as $fname
    <?php
    function get_modules ($fname){
      if (is_readable($fname)){
       $fcont = file($fname);
       if (is_array($fcont)){
         foreach ($fcont as $line){
           if (preg_match ("/^LoadModule\s*(\S*)\s*(\S*)/i",$line,$match)){
             $return[$match[2]] = $match[1];
           }
         }
       }
      }
      return $return;
    }
    ?>
    
    function apache_module_exists($module_name)
    {
      $modules = apache_get_modules();
      return ( in_array($module_name, $modules) ? true : false );
    }
    var_dump(apache_module_exists('mod_headers'));
    <?php
    function apache_module_exists($module_name)
    {
      $modules = apache_get_modules();
      foreach ($modules as $module)
      {
        if ($module == $module_name)
          return true;
      }
      
      return false;
    }
    var_dump(apache_module_exists('mod_headers'));