Howto phpBB Update Problem mit phpbb_sessions_keys

Es war wieder so weit ein Update für die bekannte Forensoftware phpBB Version 2 vorzunehmen. Also habe ich das Patchpacket mit den geänderten Dateien heruntergeladen und auf den Server kopiert. Dabei sollte man natürlich beachten, dass keine von einem selbst editierte Datei überschrieben wird. Bis dahin lief alles einwandfrei, die neue Versionsnummer wurde angezeigt und alle Standardfunktionen schienen ohne Probleme zu laufen. Was mich wunderte war, dass im install-Verzeichnis keine update_to_latest.php zu finden war, bei vorherigen Updates musste man diese Datei im Browser öffnen um das Schema der Datenbank anzupassen. Ich hatte gerade wenig Zeit, also dachte ich mir, dass das wohl ein neues Feature wäre, um das Patchen etwas einfacher zu gestalten und dass bei diesem Patch wohl nichts am Schema der Datenbank geändert werde. Nach kurzer Zeit wollte ich dann ein Passwort eines Benutzers ändern, da fiel mir auf, dass ich einen Fehler erhielt der mir mitteilte, dass wohl der Sessionkey des Benutzers nicht aus der Tabelle phpbb_sessions_keys entfernt werden könne. Ein Blick in phpMyAdmin zeigte mir, dass diese Tabelle nicht einmal existierte. Also habe ich das Internet etwas durchstöbert und mir fiel auf, dass viele dieses Problem hatten. Nach einiger Zeit der Recherche habe ich nun eine Lösung für das Problem gefunden, man muss lediglich folgende Zeilen Code in einer SQL-Abfrage in phpMyAdmin eintragen, um die Tabelle korrekt zu erzeugen:

DROP TABLE IF EXISTS phpbb_sessions_keys;
CREATE TABLE phpbb_sessions_keys (
key_id varchar(32) DEFAULT ‚0‘ NOT NULL,
user_id mediumint(8) DEFAULT ‚0‘ NOT NULL,
last_ip varchar(8) DEFAULT ‚0‘ NOT NULL,
last_login int(11) DEFAULT ‚0‘ NOT NULL,
PRIMARY KEY (key_id, user_id),
KEY last_login (last_login)
);

Kaum war das getan, lief alles wieder wie gewohnt.

Dieses Howto bezieht sich auf Version 2.0.21 unter Linux, es kann aber auch mit anderen Versionen funktionieren. Natürlich alles auf eigene Gefahr, ich übernehme keine Haftung für Probleme, die aus der Anwendung dieses Howtos entstehen.

Zum Schluss noch eine Anleitung wie man das Patch-Paket ordentlich installiert:

  1. Lade das phpBB-Patch-Archiv herunter, entpacke es und überschreibe die bestehenden Files auf dem Server (!!! vorher Backup aller wichtigen Daten und der Datenbank machen)
  2. Öffne eine Konsole (Linux — es gibt auch ein patch-Tool für Windows, das unter Cygwin läuft, siehe Links) auf dem Server, wechsle in das phpBB-Verzeichnis und führe folgenden Befehl aus
    patch -p1 -i phpBB-Version_alt_nach_Version_neu.patch
  3. Man achte bei der Ausgabe von patch auf etwaige Fehlermeldungen. Sollte es zu Fehlern kommen, dann wird eine Datei mit der Endung rej angelegt, in der man nachlesen kann, was nicht funktioniert hat. Man kann dann die Fehler manuell beheben, oder ein Fullupdate machen. Beim Fullupdate ist allerdings zu beachten, dass installierte Mods danach neu installiert werden müssen und dass editierte Dateien hierbei i.d.R. überschrieben werden, was aber kein Problem darstellt, denn man hat ja vorher ein Backup aller wichtigen Daten angelegt !!!
  4. War alles in Ordnung, dann führt man nur noch die Datei update_to_latest.php im Browser aus und löscht anschließend die Ordner install und contrib aus dem phpBB-Verzeichnis um die Installation ordentlich abzuschließen

Links:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert