'._TITLE.'');
// PHP-Version
send('
1. PHP-Version
');
$phpVersion = 'PHP-Version : '.PHP_VERSION.' ';
if (PHP_VERSION < 4.3) {
$phpVersion .= 'Failed';
$errors++;
array_push($errorsMessages, "PHP-Version : 4.3 or higher required.");
} else {
$phpVersion .= 'Passed';
}
send($phpVersion);
// PHP-Extensions
send('2. PHP-Extensions
');
send("");
$loadedExtensions = get_loaded_extensions();
// session
$session = '- session ';
if (in_array("session", $loadedExtensions)) {
$session .= 'Passed';
} else {
$session .= 'Failed';
$errors++;
array_push($errorsMessages, "PHP-Extensions : session required.");
}
send($session.'
');
// pcre
$pcre = '- pcre ';
if (in_array("pcre", $loadedExtensions)) {
$pcre .= 'Passed';
} else {
$pcre .= 'Failed';
$errors++;
array_push($errorsMessages, "PHP-Extensions : pcre required.");
}
send($pcre.'
');
// sockets
$sockets = '- sockets ';
if (in_array("sockets", $loadedExtensions)) {
$sockets .= 'Passed';
} else {
$sockets .= 'Failed';
$warnings++;
array_push($warningsMessages, "PHP-Extensions : sockets required for communication with fluxd. fluxd cannot work without sockets.");
}
send($sockets.'
');
//
send("
");
// PHP-Configuration
send('3. PHP-Configuration
');
send("");
// safe_mode
$safe_mode = '- safe_mode ';
if ((ini_get("safe_mode")) == 0) {
$safe_mode .= 'Passed';
} else {
$safe_mode .= 'Failed';
$errors++;
array_push($errorsMessages, "PHP-Configuration : safe_mode must be turned off.");
}
send($safe_mode.'
');
// allow_url_fopen
$allow_url_fopen = '- allow_url_fopen ';
if ((ini_get("allow_url_fopen")) == 1) {
$allow_url_fopen .= 'Passed';
} else {
$allow_url_fopen .= 'Failed';
array_push($warningsMessages, "PHP-Configuration : allow_url_fopen must be turned on. some features wont work if it is turned off.");
$warnings++;
}
send($allow_url_fopen.'
');
// register_globals
$register_globals = '- register_globals ';
if ((ini_get("register_globals")) == 0) {
$register_globals .= 'Passed';
} else {
$register_globals .= 'Failed';
$errors++;
array_push($errorsMessages, "PHP-Configuration : register_globals must be turned off.");
}
send($register_globals.'
');
//
send("
");
// PHP-Database-Support
send('4. PHP-Database-Support
');
send("");
// define valid db-types
$databaseTypes = array();
$databaseTypes['mysql'] = 'mysql_connect';
$databaseTypes['sqlite'] = 'sqlite_open';
$databaseTypes['postgres'] = 'pg_connect';
// test db-types
foreach ($databaseTypes as $databaseTypeName => $databaseTypeFunction) {
$dbtest = '- '.$databaseTypeName.' ';
if (function_exists($databaseTypeFunction)) {
$dbtest .= 'Passed';
$dbsupported++;
} else {
$dbtest .= 'Failed';
}
send($dbtest.'
');
}
send("
");
// db-state
if ($dbsupported == 0) {
$errors++;
array_push($errorsMessages, "PHP-Database-Support : no supported database-type found.");
}
// OS-Specific
// get os
$osString = php_uname('s');
if (isset($osString)) {
if (!(stristr($osString, 'linux') === false)) /* linux */
define('_OS', 1);
else if (!(stristr($osString, 'bsd') === false)) /* bsd */
define('_OS', 2);
else
define('_OS', 0);
} else {
define('_OS', 0);
}
send('5. OS-Specific ('.$osString.' '.php_uname('r').')
');
switch (_OS) {
case 1: // linux
send('No Special Requirements on Linux-OS. Passed');
break;
case 2: // bsd
send("");
// posix
$posix = '- posix ';
if ((function_exists('posix_geteuid')) && (function_exists('posix_getpwuid'))) {
$posix .= 'Passed';
} else {
$posix .= 'Failed';
$warnings++;
array_push($warningsMessages, "OS-Specific : PHP-extension posix missing. some netstat-features wont work without.");
}
send($posix.'
');
send("
");
break;
case 0: // unknown
default:
send("OS not supported.
");
$errors++;
array_push($errorsMessages, "OS-Specific : ".$osString." not supported.");
break;
}
// summary
send('Summary
');
// state
$state = "State : ";
if (($warnings + $errors) == 0) {
// good
$state .= 'Ok';
$state .= "
";
send($state);
send(_NAME." should run on this system.");
} else {
if (($errors == 0) && ($warnings > 0)) {
// may run with flaws
$state .= 'Warning';
$state .= "
";
send($state);
send(_NAME." may run on this system, but there may be problems.");
} else {
// not ok
$state .= 'Failed';
$state .= "
";
send($state);
send(_NAME." cannot run on this system.");
}
}
// errors
if (count($errorsMessages) > 0) {
send('Errors :
');
send("
");
foreach ($errorsMessages as $errorsMessage) {
send("- ".$errorsMessage."
");
}
send("
");
}
// warnings
if (count($warningsMessages) > 0) {
send('Warnings :
');
send("
");
foreach ($warningsMessages as $warningsMessage) {
send("- ".$warningsMessage."
");
}
send("
");
}
// foot
sendFoot();
// ob-end + exit
@ob_end_flush();
exit();
// -----------------------------------------------------------------------------
// functions
// -----------------------------------------------------------------------------
/**
* send head-portion
*/
function sendHead() {
send('');
send('');
send(''._TITLE.'');
send('');
send('');
send('');
}
/**
* send foot-portion
*/
function sendFoot() {
send('');
send('');
}
/**
* send - sends a string to the client
*/
function send($string = "") {
echo $string;
echo str_pad('', 4096)."\n";
@ob_flush();
@flush();
}
?>