Seite 1 von 2
Update von 3.1.8 funktioniert nicht
Verfasst: 6. Nov 2016, 14:00
von Offe
Ich habe gerade versucht, meine Testumgebung auf 3.2.0 Beta 1 upzudaten. Dies schlägt nach der Eingabe von Benutzername + Passwort komplett fehl
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Im Error-Log ist folgender Fehler verzeichnet:
Gruß Offe
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 15:03
von magnet
Moin,
ich klinke mich hier mal ein. Ich habe versucht, von der 3.1.9 auf die 3.2.0-Beta1 bzw. den aktuellen 3.2 Checkout zu gehen. Wie im anderen Posting beschrieben, habe ich die index.php, die Ordner adm_program,adm_themes und adm_plugins (komplett, mit login_form) durch die neuen Dateien ersetzt.
Rufe ich nun Admidio auf, erscheint nur die Login-Maske ohne jegliches drumherum. Nach Absenden der Benutzerdaten passiert nichts, im PHP Errorlog sieht man:
Code: Alles auswählen
[Thu Nov 10 13:56:40.624080 2016] [:error] [pid 9661] [client XX:54328] PHP Fatal error: Call to a member function fetchColumn() on boolean in /srv/www/domain.de/htdocs/demo/adm_plugins/login_form/login_form.php on line 241
Manuelle Neuinstallation klappt ohne Probleme, ich würde aber gern die Datenübernahme testen.
Viele Grüße,
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 17:51
von XimeX
Hallo Magnet,
Kannst du dir mal das zusammengestellte SQL in Zeile 230 in der login_form.php anschauen und direkt in der DB ausführen? Kann es sein das du hier kein Ergebnis bekommst?
Bzw mir kommt diese Zeile (235) falsch vor:
Code: Alles auswählen
AND rol_name LIKE \''.$gL10n->get('SYS_ADMINISTRATOR').'\'
Diese vll mal rausnehmen probieren.
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 19:25
von magnet
XimeX hat geschrieben:Hallo Magnet,
Kannst du dir mal das zusammengestellte SQL in Zeile 230 in der login_form.php anschauen und direkt in der DB ausführen? Kann es sein das du hier kein Ergebnis bekommst?
Bzw mir kommt diese Zeile (235) falsch vor:
Code: Alles auswählen
AND rol_name LIKE \''.$gL10n->get('SYS_ADMINISTRATOR').'\'
Diese vll mal rausnehmen probieren.
Hallo XimeX,
Vielen Dank für die Hilfe. Die Abfrage lautetete bei mir:
Code: Alles auswählen
SELECT rol_id FROM adm_roles INNER JOIN adm_categories ON cat_id = rol_cat_id WHERE rol_administrator = 1 AND rol_name LIKE 'Administrator' AND ( cat_org_id = 1 OR cat_org_id IS NULL )
Da bei mir die Spalte rol_administrator bei mir in adm_roles nicht existiert, gabs bei mir "ERROR 1054 (42S22): Unknown column 'rol_administrator' in 'where clause'". Ich habe bei mir die Abfrage testweise in "rol_webmaster = 1", geändert, nun kommt die bekannte und erwartete Meldung, dass ein Upgrade ansteht.
Starte ich nun das Datenbank-Upgrade, rödelt sich die Kiste bis zum Timeout tot und nichts passiert mehr. Ich vermute mal stark, dass es daran liegt, dass die neue Tabellenstruktur mit dem rol_administrator und ggf. weiteres noch nicht existiert? Sollten nicht eigentlich schon vorher die Scripte aus /adm_program/installation/db_scripts/update_3_2.xml ausgeführt werden?
Viele Grüße,
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 20:09
von XimeX
Hallo Magnet,
Rufe ich nun Admidio auf, erscheint nur die Login-Maske ohne jegliches drumherum.
Rufst du die Hauptseite von Admidio auf? Also "adm_program/index.php"?
Das ist klar dass das nicht gehen kann. Du musst die update Seite aufrufen und das update durchführen. "adm_program/installation/update.php"
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 20:29
von magnet
XimeX hat geschrieben:Hallo Magnet,
Rufe ich nun Admidio auf, erscheint nur die Login-Maske ohne jegliches drumherum.
Rufst du die Hauptseite von Admidio auf? Also "adm_program/index.php"?
Das ist klar dass das nicht gehen kann. Du musst die update Seite aufrufen und das update durchführen. "adm_program/installation/update.php"
Moin,
also ehrlich gesagt, so klar ist das scheinbar nicht. Bisher habe ich bei einem anstehenden Update das Script noch nie direkt aufgerufen, sondern das System (in diesem Fall über die index.php) hat nach dem Einfügen der neuen Dateien und aufrufen von Admidio automatisch erkannt, dass eine Differenz zwischen neuen Dateien und der Datenbank besteht. Und so steht es ja auch unter
https://www.admidio.org/dokuwiki/doku.p ... 2.0:update beschrieben.
Wie auch immer, rufe ich jetzt die adm_program/index.php ODER aber direkt die adm_program/installation/update.php auf, erscheint bei mir wie erwartet:
Code: Alles auswählen
Die Datenbankversion 3.1.9 ist niedriger als die Version der Admidio-Scripte 3.2.0 Beta 1.
Führe bitte das Datenbankupdate auf die Version durch.
Nun lande ich auf der
https://domain.de/adm_program/installation/update.php und starte nach Eingabe der Benutzerdaten das Update. Nach längerer Zeit erscheint eine komplett weiße Seite "
https://domain.de/adm_program/installat ... php?mode=2 und es passiert nichts mehr. Rufe ich danach die index oder das update auf, geht das Spielchen von vorne los.
Grüße,
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 21:15
von XimeX
Ok hab mir das nochmal genauer angeschaut. Es müsste auch eine Hinweis/Weiterleitung kommen wenn du die root index.php aufrufst. (NICHT die adm_program/index.php)
Den Fehler bezüglich weißer Seite schau ich mir an
Edit:
Versucht mal den Wert hier auf 600 hochzusetzen:
Zeile 340 in update.php (bei der Beta 1 wirds paar Zeilen vorher sein)
@set_time_limit(300);
WIe viele Datensätze habt ihr denn? Also so grobe angabe. Wenig, Mittel, Viel, ... Je mehr Daten umso länger dauert das updaten. Und die 300 heißen das nach 5min (5*60sec) abgebrochen wird.
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 21:40
von magnet
XimeX hat geschrieben:
Ok hab mir das nochmal genauer angeschaut. Es müsste auch eine Hinweis/Weiterleitung kommen wenn du die root index.php aufrufst. (NICHT die adm_program/index.php)
Exakt.
XimeX hat geschrieben:
Versucht mal den Wert hier auf 600 hochzusetzen:
Zeile 340 in update.php (bei der Beta 1 wirds paar Zeilen vorher sein)
@set_time_limit(300);
WIe viele Datensätze habt ihr denn? Also so grobe angabe. Wenig, Mittel, Viel, ... Je mehr Daten umso länger dauert das updaten. Und die 300 heißen das nach 5min (5*60sec) abgebrochen wird.
Habe den Wert testweise auf 600 hochgesetzt, ohne Erfolg. Die Testinstallation ist recht klein, so ca. 200 Benutzer. Bisher war ein Upgrade aber nie ein Problem, ist in wenigen Sekunden durchgelaufen.
Ich denke aber der Log hilft weiter?
Code: Alles auswählen
PHP Fatal error: Maximum execution time of 600 seconds exceeded in /srv/www/domain.de/htdocs/demo/adm_program/system/classes/passwordhashing.php on line 76, referer: https://domain.de/demo/adm_program/installation/update.php
Grüße,
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 22:02
von XimeX
Bitte schau mal nach welcher Wert in der Datenbank steht:
Tabelle: adm_preferences
Spalte: prf_name = "system_hashing_cost"
Welcher prf_value Wert eingetragen ist.
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 22:07
von magnet
XimeX hat geschrieben:Bitte schau mal nach welcher Wert in der Datenbank steht:
Tabelle: adm_preferences
Spalte: prf_name = "system_hashing_cost"
Welcher prf_value Wert eingetragen ist.
Dort ist "31" eingetragen.
Grüße,
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 22:23
von XimeX
Änder mal in der update.php folgende Zeilen um und versuchs nochmal.
Zeile ca 360
Code: Alles auswählen
// calculate the best cost value for your server performance
$cost = 10;
if (isset($gPreferences) && array_key_exists('system_hashing_cost', $gPreferences))
{
$cost = (int) $gPreferences['system_hashing_cost'];
}
$benchmarkResults = PasswordHashing::costBenchmark(0.35, 'password', $gPasswordHashAlgorithm, array('cost' => $cost));
Code: Alles auswählen
// calculate the best cost value for your server performance
$benchmarkResults = PasswordHashing::costBenchmark(0.35, 'password', $gPasswordHashAlgorithm, array('cost' => 10));
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 22:39
von magnet
Hey, das war es
Code: Alles auswählen
Die Aktualisierung war erfolgreich
Die Admidio-Datenbank ist jetzt auf die Version 3.2.0 Beta 1 aktualisiert worden.
Du kannst nun wieder mit Admidio arbeiten.
Einloggen geht auch wieder, jetzt besteht nur noch das Problem, dass ich unangemeldet auf der index.php nur das unhübsche Login-Fenster sehe und nicht wie früher, die Übersichtsseite. Ich habe mal ein Bildchen angehängt, der Rest der Seite ist weiß.
Nochmal zusammenfassend was ich bisher geändert habe:
1. Die SQL-Anfrage in der login_form.php von rol_administrator auf rol_webmaster
2. Das Ersetzen mit $benchmarkResults = PasswordHashing::costBenchmark(0.35, 'password', $gPasswordHashAlgorithm, array('cost' => 10)); in der update.php.
Viele Grüße,
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 22:41
von XimeX
Code: Alles auswählen
1. Die SQL-Anfrage in der login_form.php von rol_administrator auf rol_webmaster
Das sollte nicht notwendig sein.
Versuch das jetzt rückgängig zu machen. Dann wird die Seite vermutlich wieder funktionieren
Hoffe dass das auch der fix für Offe ist:
https://github.com/Admidio/admidio/comm ... eff5e5834e
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 10. Nov 2016, 22:53
von magnet
XimeX hat geschrieben:Code: Alles auswählen
1. Die SQL-Anfrage in der login_form.php von rol_administrator auf rol_webmaster
Das sollte nicht notwendig sein.
Versuch das jetzt rückgängig zu machen. Dann wird die Seite vermutlich wieder funktionieren
Hoffe dass das auch der fix für Offe ist:
https://github.com/Admidio/admidio/comm ... eff5e5834e
Perfekt, vielen Dank für die spontane und umfangreiche Hilfe, jetzt scheints zu laufen.
Ich werde das ganze morgen nochmal resetten und mit einen aktuellen checkout wiederholen, ich bin sehr gespannt auf die Mail-to-Lists-Funktion
Vielen Dank & schönen Abend!
magnet
Re: Update von 3.1.8 funktioniert nicht
Verfasst: 11. Nov 2016, 00:04
von magnet
Doch noch schnell eine Rückmeldung: ich bin nochmal zurück auf die 3.1.9 und habe dann ein Upgrade auf den aktuellen git checkout gemacht. In diesem Fall hat die index.php oder adm_program/index.php nicht erkannt, dass ein Upgrade vorliegt. Ich konnte mich dennoch anmelden und war in einer halbkaputten Installation. Erst als ich die update.php per Hand aufgerufen und die Datenbank aktualisiert wurde, war dann alles in Butter.
Grüße,
magnet