apache_get_modules

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

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

说明

array apache_get_modules ( void )

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

返回值

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

更新日志

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

范例

Example #1 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
)

User Contributed Notes

Anonymous 29-Nov-2013 07:19
<?php
function apache_module_exists($module)
{
    return
in_array($module, apache_get_modules());
}
?>
Anonymous 03-Sep-2013 09:07
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'));
fengdingbo at gmail dot com 29-Jul-2013 10:56
<?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'));
Vlad Alexa Mancini mancini at nextcode dot org 04-Aug-2005 11:13
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;
}

?>