redaxo / redaxo4

REDAXO 4

Home Page:https://redaxo.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fehler: Installation Schritt 4, php 7.1.4

Goldfischpeter opened this issue · comments

Bei Installation, Schritt 3 (Setup Database) lädt die folgende Seite nicht vollständig.
Abbruch der Installation. Die Ausgabe endet im HTML hier:

<div id="rex-wrapper">
<div id="rex-wrapper2">

Irgendwelche errors im system log?

Hab leider keinen Zugriff auf die Logs. Es hängt in der Funktion rex_setup_setDBcharset(). Es gibt hier keinen Fehler noch wird im Debug-Modus etwas ausgegeben.

Du könntest diesen Bereich einfach mal auskommentieren, und schauen, ob dann das Setup durchgeht:

if ($charset != '') {
$ad = new rex_sql();
$ad->setQuery('ALTER DATABASE `' . $REX['DB']['1']['NAME'] . '` DEFAULT CHARACTER SET ' . $charset);
$err_msg .= $ad->hasError() ? rex_formated_sqlerror($ad) : '';
unset($ad);
} else {
$err_msg = 'rex_setup_setDBcharset() error: no charset defined..';
}

Es bleibt danach in der nächsten Funktion rex_setup_import() hängen.
Hier in beim Aufruf von rex_a1_import_db($import_sql);
Der Parameter $import_sql ist gesetzt "redaxo/include/install/redaxo4_7.sql"

rex_a1_import_db() -> zeile 127: $sql = rex_sql::factory(); -> class.rex_sql.inc.php -> rex_sql() -> selectDB() -> if (!@mysql_select_db($REX['DB'][$DBID]['NAME'], $this->identifier))

hab mysql_select_db mit mysqli_connect ersetzt

danach hängt es $this->setQuery('SET SQL_MODE=""');

Ich habe es mir angeschaut: Der eigentliche Fehler ist, dass wenn das DB-Passwort ein $ enthält, das Passwort falsch escaped in die master.inc.php geschrieben wird.
Aus foo$bar wird 'foo\$bar', da es in einfachen Anführungszeichen gesetzt wird, ist das Escaping aber falsch.