WordPress Version: 6.3
/**
* Determines whether the specified module exist in the Apache config.
*
* @since 2.5.0
*
* @global bool $is_apache
*
* @param string $mod The module, e.g. mod_rewrite.
* @param bool $default_value Optional. The default return value if the module is not found. Default false.
* @return bool Whether the specified module is loaded.
*/
function apache_mod_loaded($mod, $default_value = false)
{
global $is_apache;
if (!$is_apache) {
return false;
}
$loaded_mods = array();
if (function_exists('apache_get_modules')) {
$loaded_mods = apache_get_modules();
if (in_array($mod, $loaded_mods, true)) {
return true;
}
}
if (empty($loaded_mods) && function_exists('phpinfo') && !str_contains(ini_get('disable_functions'), 'phpinfo')) {
ob_start();
phpinfo(INFO_MODULES);
$phpinfo = ob_get_clean();
if (str_contains($phpinfo, $mod)) {
return true;
}
}
return $default_value;
}