Newer
Older
function getapacheversion($get_minor = false) {
global $app;
$cmd = '';
if(is_installed('apache2ctl')) $cmd = 'apache2ctl -v';
elseif(is_installed('apachectl')) $cmd = 'apachectl -v';
else {
ilog("Could not check apache version, apachectl not found.");
return '2.2';
}
exec($cmd, $output, $return_var);
if($return_var != 0 || !$output[0]) {
ilog("Could not check apache version, apachectl did not return any data.");
return '2.2';
}
if(preg_match('/version:\s*Apache\/(\d+)(\.(\d+)(\.(\d+))*)?(\D|$)/i', $output[0], $matches)) {
return $matches[1] . (isset($matches[3]) ? '.' . $matches[3] : '') . (isset($matches[5]) && $get_minor == true ? '.' . $matches[5] : '');
} else {
ilog("Could not check apache version, did not find version string in apachectl output.");
return '2.2';
}
function getapachemodules() {
global $app;
$cmd = '';
if(is_installed('apache2ctl')) $cmd = 'apache2ctl -t -D DUMP_MODULES';
elseif(is_installed('apachectl')) $cmd = 'apachectl -t -D DUMP_MODULES';
else {
ilog("Could not check apache modules, apachectl not found.");
return array();
}
exec($cmd . ' 2>/dev/null', $output, $return_var);
if($return_var != 0 || !$output[0]) {
ilog("Could not check apache modules, apachectl did not return any data.");
return array();
}
$modules = array();
for($i = 0; $i < count($output); $i++) {
if(preg_match('/^\s*(\w+)\s+\((shared|static)\)\s*$/', $output[$i], $matches)) {
$modules[] = $matches[1];
}
}
return $modules;
}
tbrehm
committed