checkDbConnection() 공개 정적인 메소드

Prueft die uebergebenen Zugangsdaten auf gueltigkeit und legt ggf. die Datenbank an.
public static checkDbConnection ( $host, $login, $pw, $dbname, $createDb = false )
예제 #1
0
파일: setup.php 프로젝트: VIEWSION/redaxo
 /**
  * Checks the version of the connected database server.
  *
  * @param array $config   of databaes configs
  * @param bool  $createDb Should the database be created, if it not exists.
  *
  * @return string Error
  */
 public static function checkDb($config, $createDb)
 {
     $err = rex_sql::checkDbConnection($config['db'][1]['host'], $config['db'][1]['login'], $config['db'][1]['password'], $config['db'][1]['name'], $createDb);
     if ($err !== true) {
         return $err;
     }
     $serverVersion = rex_sql::getServerVersion();
     if (rex_string::versionCompare($serverVersion, self::MIN_MYSQL_VERSION, '<') == 1) {
         return rex_i18n::msg('setup_404', $serverVersion, self::MIN_MYSQL_VERSION);
     }
     return '';
 }
예제 #2
0
    $redaxo_db_create = rex_post('redaxo_db_create', 'boolean');
    $cont = preg_replace("@(REX\\['SERVER'\\].?\\=.?\")[^\"]*@", '${1}' . $serveraddress, $cont);
    $cont = preg_replace("@(REX\\['SERVERNAME'\\].?\\=.?\")[^\"]*@", '${1}' . $serverbezeichnung, $cont);
    $cont = preg_replace("@(REX\\['LANG'\\].?\\=.?\")[^\"]*@", '${1}' . $lang, $cont);
    $cont = preg_replace("@(REX\\['INSTNAME'\\].?\\=.?\")[^\"]*@", '${1}' . "rex" . date("YmdHis"), $cont);
    $cont = preg_replace("@(REX\\['ERROR_EMAIL'\\].?\\=.?\")[^\"]*@", '${1}' . $error_email, $cont);
    $cont = preg_replace("@(REX\\['PSWFUNC'\\].?\\=.?\")[^\"]*@", '${1}' . $psw_func, $cont);
    $cont = preg_replace("@(REX\\['DB'\\]\\['1'\\]\\['HOST'\\].?\\=.?\")[^\"]*@", '${1}' . $mysql_host, $cont);
    $cont = preg_replace("@(REX\\['DB'\\]\\['1'\\]\\['LOGIN'\\].?\\=.?\")[^\"]*@", '${1}' . $redaxo_db_user_login, $cont);
    $cont = preg_replace("@(REX\\['DB'\\]\\['1'\\]\\['PSW'\\].?\\=.?\")[^\"]*@", '${1}' . $redaxo_db_user_pass, $cont);
    $cont = preg_replace("@(REX\\['DB'\\]\\['1'\\]\\['NAME'\\].?\\=.?\")[^\"]*@", '${1}' . $dbname, $cont);
    if (rex_put_file_contents($master_file, $cont) === false) {
        $err_msg = $I18N->msg('setup_020', '<b>', '</b>');
    }
    // -------------------------- DATENBANKZUGRIFF
    $err = rex_sql::checkDbConnection($mysql_host, $redaxo_db_user_login, $redaxo_db_user_pass, $dbname, $redaxo_db_create);
    if ($err !== true) {
        $err_msg = $err;
    } else {
        $REX['DB']['1']['NAME'] = $dbname;
        $REX['DB']['1']['LOGIN'] = $redaxo_db_user_login;
        $REX['DB']['1']['PSW'] = $redaxo_db_user_pass;
        $REX['DB']['1']['HOST'] = $mysql_host;
        $err_msg = "";
        $checkmodus = 3;
        $send = "";
    }
} else {
    // Allgemeine Infos
    $serveraddress = $REX['SERVER'];
    $serverbezeichnung = $REX['SERVERNAME'];
예제 #3
0
파일: sql_test.php 프로젝트: staabm/redaxo
 public function testCheckConnectionInvalidDatabase()
 {
     $configFile = rex_path::data('config.yml');
     $config = rex_file::getConfig($configFile);
     $this->assertTrue(true !== rex_sql::checkDbConnection($config['db'][1]['host'], $config['db'][1]['login'], $config['db'][1]['password'], 'fu-database'));
 }