PHP 8.5.8 Released!

apache_get_modules

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

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

说明

function apache_get_modules(): array

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

参数

此函数没有参数。

返回值

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

示例

示例 #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
)

发现了问题?

了解如何改进此页面提交拉取请求报告一个错误
+添加备注

用户贡献的备注 4 notes

up
11
hello at octopuslabs dot io
5 years ago
apache_get_modules() is only available when the PHP is installed as a module and not as a CGI == It doesn't work with php-fpm.
up
11
Anonymous
12 years ago
<?php
function apache_module_exists($module)
{
 return in_array($module, apache_get_modules());
}
?>
up
1
Vlad Alexa Mancini mancini at nextcode dot org
20 years ago
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;
}
?>
up
0
christian at zp1 dot net
2 years ago
/** 
 * Check if a Apache module is loaded (even if php run as fcgi or cgi )
 * 
 * @param string $module 
 * @return bool 
 */
public static function apache_check_module(string $module): bool
{
 $module = ($module ? strval(value: $module) : '');
 if (function_exists('apache_get_modules') && !empty($module)) {
 if (in_array(needle: $module, haystack: apache_get_modules())) {
 return TRUE;
 }
 } else if (!empty(shell_exec(command: 'apache2ctl -M | grep \'' . $module . '\''))) {
 return TRUE;
 } else {
 return FALSE;
 }
}
+添加备注

AltStyle によって変換されたページ (->オリジナル) /