예제 #1
0
        if (preg_match($prerequisites_config["request_order_regex"], $variables_order) === 0) {
            $prerequisites .= "Please set 'variables_order' ini value to include C,G and P in php.ini " . PHP_EOL;
        }
    }
}
// check php extensions
foreach ($prerequisites_config["php_extensions"] as $ext) {
    if (!extension_loaded($ext)) {
        $prerequisites .= "Missing {$ext} PHP extension" . PHP_EOL;
    }
}
// check mysql
if (!extension_loaded('mysqli')) {
    $prerequisites .= "Cannot check MySQL connection, version and settings because PHP mysqli extension is not loaded" . PHP_EOL;
} else {
    if (!DatabaseUtils::connect($link, $db_params, null)) {
        $prerequisites .= "Failed to connect to database " . $db_params['db_host'] . ":" . $db_params['db_port'] . " user:"******". Please check the database settings you provided and verify that MySQL is up and running." . PHP_EOL;
    } else {
        // check mysql version and settings
        $mysql_version = getMysqlSetting($link, 'version');
        // will always return the value
        if (!checkVersion($mysql_version, $prerequisites_config["mysql_min_version"])) {
            $prerequisites .= "MySQL version should be >= " . $prerequisites_config["mysql_min_version"] . " (current version is {$mysql_version})" . PHP_EOL;
        }
        $lower_case_table_names = getMysqlSetting($link, 'lower_case_table_names');
        if (!isset($lower_case_table_names)) {
            $prerequisites .= "Please set 'lower_case_table_names = " . $prerequisites_config["lower_case_table_names"] . "' in my.cnf and restart MySQL" . PHP_EOL;
        } else {
            if (intval($lower_case_table_names) != intval($prerequisites_config["lower_case_table_names"])) {
                $prerequisites .= "Please set 'lower_case_table_names = " . $prerequisites_config["lower_case_table_names"] . "' in my.cnf and restart MySQL (current value is {$lower_case_table_names})" . PHP_EOL;
            }