MLF 1.7.7: PHP 5.5 --> 7.x oder Wechsel zu MLF 2.x ? (Technics)

by wo2010, Friday, March 29, 2019, 16:31 (90 days ago)

Hallo,

mich drückt die Frage, ob ich überschaubar MLF 1.7.7 von PHP 5.5 auf PHP 7.x umrüsten kann, oder nicht einfacher oder besser auf MLF 2.x wechsele?

Für das nun schon größere Upgrade schienen mir aber Zwischenschritte nötig zu sein. Welche wären das, und finde ich hier noch die notwendige Software?

Vielen Dank im voraus.

Mit freundlichen Grüßen
Wolfgang

Avatar

MLF 1.7.7: PHP 5.5 --> 7.x oder Wechsel zu MLF 2.x ?

by Auge ⌂ @, Sunday, March 31, 2019, 13:17 (88 days ago) @ wo2010

Hallo

mich drückt die Frage, ob ich überschaubar MLF 1.7.7 von PHP 5.5 auf PHP 7.x umrüsten kann, oder nicht einfacher oder besser auf MLF 2.x wechsele?

Leider kann ich dir zum nöglichen Weiterbetrieb von MLF 1 unter PHP 7.x nichts sagen. Alfie wäre ein möglicher Ansprechpartner, da er eine stark angepasste Version (direkte Ableitung von MLF 1.7.6, keine 1.7.7) betreibt.

Entgegen meinem selbst geäußerten Wunsch, die in Alfies Version bereits vorhandenen Änderungen in die Hauptversion von MLF 1.7 zu integrieren und daraus eine 1.8 zu machen, werde ich dort in absehbarer Zeit definitiv keine Arbeit reinstecken können. Ich komme kaum noch dazu, über die geplanten Änderungen für 2.5 nachzudenken, weil mich aktuell meine Erwerbsarbeit gedanklich gänzlich beansprucht. Für Gedanken an MLF 1.8 bleibt da leider keine Aufmerksamkeit übrig.

Von daher musst du selbst probieren, ob MLF 1.7 unter PHP 7.x läuft, falls sich Alfie nicht äußern sollte. Das sollte ich bei vielen Hostern aber auch machen lassen. Ich habe schon bei einigen Hostern gesehen, dass sie pro Subdomain oder gar Verzeichnis den Betrieb unterschiedlicher PHP-Versionen ermöglichen, was für einen solchen Test die beste Voraussetzung ist.

Ob du auf MLF 2.4 umsteigen willst, hängt wohl auch davon ab, ob du alle Funktionen, die in deinem 1.7.7-er Forum aktiv genutzt werden, in MLF 2.4 wiederfindest.

Für das nun schon größere Upgrade schienen mir aber Zwischenschritte nötig zu sein. Welche wären das, und finde ich hier noch die notwendige Software?

Es gibt da mehrere Pfade, die du beschreiten kannst, die aber an einigen Punkten Handarbeit und/oder detaillierte technische Kenntnisse über deine vorhandene Installation erfordern. Letzteres gilt inbesondere, wenn du dein MLF 1.7.7 in Bezug auf Funktionen oder Datenhaltung (z.B. Umstellung auf UTF-8) angepasst haben solltest.

Wenn du das Forum so, wie geliefert, einsetzt, ist diese Zusammenfassung aus dem letzten Jahr immer noch gültig. Es ist ein Skript aufgetaucht, mit dem man ein Backup der Tabellen für Benutzerdaten, Kategorien und Einträge eines 1.7-er Forums erstellen kann, dass sich in eine bestehende, aber leere Installation von MLF 2.1 oder 2.2 importieren lässt. Von da auch muss man den Updatepfad bis Version 2.3.5 beschreiten um von dort aus auf die aktuelle Version 2.4.19 zu kommen.

Du musst dabei im Übrigen nicht jede Version mitnehmen. Erstelle zuerst das Backup von MLF 1.7. Installiere dann in einem neuen Verzeichnis MLF 2.2 von Sourceforge und spiele das Backup ein. Wenn alles da ist, wo es hin soll und es keine offensichtlichen Fehler gab, führe das Update auf MLF 2.3 aus und prüfe erneut, ob alles läuft. Dann gehst du auf die letzte Version, die auf Sourceforge verfügbar ist (2.3.4) und danach gleich auf die 2.3.5 von Github.

Von dort aus führe das Update auf die Version 2.4.19.1 aus. Beachte dabei, dass es seit der Version 2.3.99.1 (erste Alphaversion für 2.4) eine neue Datei gibt, die für den Updateprozess unabdingbar ist (config/VERSION).

Wenn du auf dem aktuellen Stand bist, kannst du den Pfad zum neuen Forum auf den zum alten Forum setzen (beide Verzeichnisse umbenennen). Denke an dieser Stelle daran, dass auch in den Forumseinstellungen der geänderte Pfad notiert werden muss (Einstellung forum_address). Wenn alles läuft, kannst du das alte Forum samt seiner Datenbanktabellen (vielleicht und wenn gewünscht nach einem Nostalgie-Backup ;-)) löschen.

Wenn du Fragen zum Prozess hast, frage bitte hier.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

MLF 1.7.7: PHP 5.5 --> 7.x oder Wechsel zu MLF 2.x ?

by wo2010, Tuesday, April 02, 2019, 17:45 (85 days ago) @ Auge

Lieber Auge,

vielen Dank für die verschiedenen Lösungsansätze. Konnte leider erst jetzt antworten, da ich bis vorhin unterwegs war. Werde mich auch erst morgen wirklich mit den Dingen beschäftigen können.

Wenn ich eine (nur überflogene) Passage richtig verstand, wäre zumindest die Upgrade-Variante so zu realisieren, daß das bestehende Forum (noch) weiter exisitiert und genutzt werden könnte. (Aber vielleicht nur lesend, weil ja die dann noch entstehenden Einträge nicht mitgenommen werden.)

Wie gesagt, morgen lese ich "mit Verstand".

Nochmals Dank und viele Grüße
Wolfgang

PS: Habe leider beim Lesen der Notification-Mail statt auf den Link zum Eintrag auf die Notification-Deaktivierung geklickt. Ist das reparabel?

Avatar

MLF 1.7.7: PHP 5.5 --> 7.x oder Wechsel zu MLF 2.x ?

by Auge ⌂ @, Tuesday, April 02, 2019, 18:55 (85 days ago) @ wo2010

Hallo

Wenn ich eine (nur überflogene) Passage richtig verstand, wäre zumindest die Upgrade-Variante so zu realisieren, daß das bestehende Forum (noch) weiter exisitiert und genutzt werden könnte. (Aber vielleicht nur lesend, weil ja die dann noch entstehenden Einträge nicht mitgenommen werden.)

Das ginge grundsätzlich, wobei ich nicht mehr weiß, ob man das Forum in einen Archivmodus versetzen kann. Andererseits habe ich ja beschrieben, wie nach dem erfolgreichen Import- und Upgradeprozess mit einer simplen Umbenennung der Verzeichnisse und der Anpassung einer einzigen Forumseinstellung im neuen Forum dieses ohne Änderung der Forums-URL das alte Forum ersetzen kann.

Einzig Forums-interne Links in den Beiträgen werden nicht mehr funktionieren.

Dass ich in MLF 1.7.7 gerade die alten mysql-Funktionen durch die der mysqli-Bobliothek ersetze, um zu testen, ob das Forum so unter PHP7 lauffähig ist, hast du mitbekommen?

PS: Habe leider beim Lesen der Notification-Mail statt auf den Link zum Eintrag auf die Notification-Deaktivierung geklickt. Ist das reparabel?

Ich habe das Abonnement im Eröffnungsposting wieder aktiviert.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

MLF 1.7.7: PHP 5.5 --> 7.x oder Wechsel zu MLF 2.x ?

by wo2010, Thursday, April 04, 2019, 08:59 (84 days ago) @ Auge

Lieber Auge,

vielen Dank.

Ich muß mich erst wieder in die Server-Zusammenhänge reindenken - ist schon eine Weile her, daß ich damit ein bißchen rumhantierte.

Mein Gedanke der doppelgleisigen Übergangsphase ist ja vermutlich Illusion, weil es nur eine aktive PHP-Version gibt - entweder 5 oder 7. Und ich weiß auch nicht, ob mir der Provider ein Rückschalten erlaubt, wenn ich erst einmal die 7 ausgewählt habe.

Wie gesagt, das bißchen Erfahrung liegt länger zurück. Damals hatten wir lokal eine WAMP-Version installiert - wäre das ein hilfreicher Weg? Hättest Du eine Empfehlung? Wie bekäme ich das aktive Forum dort rein? Andererseits - bräuchte ich ja vielleicht auch nicht, sondern "nur" die zu testende Version.

Dass ich in MLF 1.7.7 gerade die alten mysql-Funktionen durch die der mysqli-Bobliothek ersetze, um zu testen, ob das Forum so unter PHP7 lauffähig ist, hast du mitbekommen?

Ja, danke schön, Ihr beide (Du und Alfie) seid dort gerade aktiv und habt Euch an die Sisyphusarbeit gemacht. Wie weit seid Ihr gekommen?

Mit freundlichen Grüßen
Wolfgang

Avatar

MLF 1.7.7: PHP 5.5 --> 7.x oder Wechsel zu MLF 2.x ?

by Auge ⌂ @, Thursday, April 04, 2019, 09:33 (84 days ago) @ wo2010

Hallo

Mein Gedanke der doppelgleisigen Übergangsphase ist ja vermutlich Illusion, weil es nur eine aktive PHP-Version gibt - entweder 5 oder 7. Und ich weiß auch nicht, ob mir der Provider ein Rückschalten erlaubt, wenn ich erst einmal die 7 ausgewählt habe.

Ich kann nicht beurteilen, was dein Hoster anbietet. Bei mir kann ich die PHP-Version pro Domain oder Subdomain festlegen, was natürlich Tests unter verschiedenen PHP-Versionen erheblich erleichtert.

Du kannst MLF2 im übrigen ab PHP 5.4 installieren/benutzen. Damit könntest du einen Umzug vor dem Upgrade der PHP-Version durchführen.

Wie gesagt, das bißchen Erfahrung liegt länger zurück. Damals hatten wir lokal eine WAMP-Version installiert - wäre das ein hilfreicher Weg?

Abgesehen davon, dass Lamp und Wamp irgendwann zu XAMPP zusammengeführt wurden (das zusätzliche P steht für die hinzugefügte Sprache Perl), ist das ein gangbarer Weg für Tests. Einzelheiten kann ich allerdings nicht beurteilen, weil ich WAMP, LAMP oder XAMPP selbst tatsächlich nie benutzt habe.

Hättest Du eine Empfehlung? Wie bekäme ich das aktive Forum dort rein?

Erstelle ein Backup der Datenbankinhalte deines Forums, bringe den XAMPP-Server-Stack in Gange, prüfe, ob die Konfiguration auch nur einigermaßen der auf deinem Webspace entspricht, installiere das Forum und spiele das Backup deines alten Forums ein.

Der Verlauf der Tests von Alfie lässt vermuten, dass MLF1 nach Austausch der mysql_- gegen mysqli_-Funktionen grundsätzlich unter PHP7.3 lauffähig ist. Er berichtet zwar von Problemen, es lässt sich aber noch nicht sagen, woran es hapert. Es könnte etwas sein, das an MLF1 liegt, aber auch an meinen an ihn gelieferten oder von ihm vorgenommenen Änderungen, die nicht im offiziellen MLF1 enthalten sind.

Andererseits - bräuchte ich ja vielleicht auch nicht, sondern "nur" die zu testende Version.

Wenn du von einem Test einer neuen MLF1-Version sprichst, reicht das wohl, um die Funktion selbst zu testen. Um einen Umzug auf eine neuere MLF1- oder MLF2-Instanz mit vorhandenen Daten zu testen, musst du natürlich beide Foren (das alte und die neue Wunschversion) installieren. Dann kannst du das aber auch gleich auf dem echten Webspace testen, so dem nicht Speicherbegrenzungen im Wege stehen.

Wie ich schon beschrieb, spricht nichts gegen eine Installation der neueren Version in einem anderen Verzeichnis des Webspaces, das nach einem erfolgreichen Umzug einfach umbenannt wird. Wenn es nicht klappt, werden einfach die Datenbanktabellen und das verzeichnis gelöscht und solange herumprobiert, bis es funktioniert.

Dass ich in MLF 1.7.7 gerade die alten mysql-Funktionen durch die der mysqli-Bobliothek ersetze, um zu testen, ob das Forum so unter PHP7 lauffähig ist, hast du mitbekommen?


Ja, danke schön, Ihr beide (Du und Alfie) seid dort gerade aktiv und habt Euch an die Sisyphusarbeit gemacht. Wie weit seid Ihr gekommen?

Um genau zu sein, arbeitet Alfie an seiner stark vom Standard abweichenden Installation, die ich 2012 aus einer früheren Entwicklungsversion abgeleitet habe und die er zudem selbst weiter entwickelt hat. Ich arbeite an der quasi offiziellen Version auf Basis der Version 1.7.7.2, die ich 2017 and Hotfix für das Problem mit der auf UTF-8 geänderten Standardzeichenkodierung für htmlspecialchars erstellt habe.

Ich habe jedenfalls alle Aufrufe von SQL-Funktionen von mysql_ auf mysqli_ geändert. Zudem habe ich alle Queries auf kontextgerechte Maskierung geprüft, weil da sehr viel im Argen lag. Allerdings habe ich beim Import ins Repository einen Fehler gemacht, den ich beheben muss, bevor ich das bisher ungetestete Ergebnis veröffentlichen kann.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1.7.7: PHP 5.5 --> 7.x?

by Auge ⌂ @, Sunday, March 31, 2019, 18:55 (87 days ago) @ wo2010

Hallo

Nur, um das auch hier noch einmal klarzustellen, nachdem ich es schon gegenüber Alfie etwas ausführlicher ansprach. Ich kann als Alleinunterhalter MLF1 nicht die für ein solches Projekt notwendige Aufmerksamkeit schenken, auch wenn es mich traurig macht, mehrere Jahre in die Weiterentwicklung von MLF1 gesteckt zu haben, ohne, dass dabei nach außen hin viel herausgekommen ist.

Ich habe aber andererseits auch das Repository, um Änderungen als Pull Requests und Anfragen als Issues entgegenzunehmen und zu verwalten. Wenn mir Mitstreiter zuhilfe kämen, könnte zumindest eine Version erarbeitet werden können, die unter PHP7 läuft.

Mittlerweile habe ich jedenfalls den Code von MLF 1.7.7 noch einmal überflogen und kann dir zumindest sagen, dass eine MLF1-Installation mit diesem Code ab PHP 7 definitiv nicht lauffähig ist. Der offensichtliche Grund, der mich regelrecht ansprang, sind die alten MySQL-Funktionen, mit denen das Skript läuft und die es unter PHP 7 nicht mehr gibt. Ob es noch mehr solcher Stolperfallen gibt, weiß ich nicht, aber die MySQL-Funktionen reichen als Showstopper.

Ich baue gerade die neuen MySQLi-Funktionen ein, um zumindest diesen Klops loszuwerden, mehr kann ich aktuell aber nicht versprechen. Wenn ich fertig bin, sage ich Bescheid. Ein Test mit einer Parallelinstallation zu einem bestehenden MLF-1-Forum (Benutzung der selben Datenbanktabellen) auf einem PHP-7-fähigen Webspace durch einen pder mehrere Betreiber von MLF-1-Foren wäre dann sehr nett.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Wechsel zu MLF 2.x ? Test des Backupskripts

by Auge ⌂ @, Sunday, March 31, 2019, 19:09 (87 days ago) @ wo2010

Hallo

Wie in meiner ersten Antwort beschrieben, gibt es einen Update-Pfad. Das dort genannte Skript für das Backup eines MLF-1.7-er Forums, das in MLF 2.2 importiert werden kann, ist so, wie es über den Link in eines von Irenes Postings herunterladbar ist, stark überholungsbedürftig.

Nach Absprache mit Alex habe ich die Überholung des Skripts vor einem fast einem Jahr durchgeführt. Allerdings habe ich selbst kein Forum, mit dem ich das Skript testen kann. So habe ich eine der Abfragen geändert, ohne testen zu können, ob sie überhaupt funktioniert.

Über den Link im letzten Absatz kann das Skript heruntergeladen werden. Ich bitte darum, es an geeigneter Stelle auszuprobieren. Eine vorhandene Forumsinstallation wird von dem Skript nicht geändert. Es wird, wenn das Skript funktoniert, ein Backup der Tabellen für die Benutzerdaten, die Kategorien und Einträge als Textdatei angelegt.

Bei einem Test wäre es für mich wichtig zu wissen, ob die Postingtexte im Backup lesbar sind, die Maskierungen diverser Zeichen mit zwei Backslashes aus den Postings entfernt wurden und die Spalte edited_by der Postingtabelle für editierte Postings den Index des editiert habenden Benutzers enthält.

Hintergrund für den letzten Punkt: In der Originaltabelle wird der Name des Benutzers gespeichert. In MLF 2 wird stattdessen die Benutzer-ID gespeichert.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1 funktioniert unter PHP 7.2 grundsätzlich

by Auge ⌂ @, Monday, April 08, 2019, 19:30 (79 days ago) @ wo2010

Hallo Wolfgang

Ich schrieb es schon in einem anderen Thread, weiß aber nicht, ob du es mitbekommen hast. Ich habe MLF1 in einem aktuellen Entwicklungsstand, dessen Zustand allerdings noch nicht für eine Veröffentlichung einer neuen Version taugt, unter PHP 7.2.17 installieren und nach einigen Korrekturen ein Posting speichern können. Um daraus eine neue Version zu packen, braucht es aber noch etwas Pflege, da, wie hier beschrieben, die bis zu 15 Jahre alten Tabellendefinitionen mit neueren MySQL-Versionen je nach Serveronfiguration nicht zusammenspielen wollen.

Ich muss also zumindest noch die Datenbankstruktur überarbeiten, testen und diese Veränderungen schlussendlich ins Updateskript einpflegen. Ein Umstieg auf MLF2 ist also nicht zwingend erforderlich. Wenn dir keine Funktionalität fehlt, kannst du das Upgrade durchführen, du kannst, wenn du noch etwas Geduld hast, aber auch auf die neue MLF1-Version warten.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

MLF 1 funktioniert unter PHP 7.2 grundsätzlich

by wo2010, Monday, April 08, 2019, 23:08 (79 days ago) @ Auge

Hallo Auge,

vielen Dank, das klingt ja ziemlich gut : -)

(Habe jetzt auch den anderen Thread wieder nachgelesen.)

Es ist mir gelungen, noch ein wenig Zeit zu erhandeln. Der Provider zieht den Webspace auf einen Server um, der später mit der Abschaltung "dran" ist.

Ich werde mir mal genauer die Vorgänge rund um Version 1.7.7 vor zwei Jahren ansehen, um wieder etwas "hereinzukommen".

Was mir aber neulich durch den Kopf ging:
Könnte es denn sein, daß es auch beim MySQL-Paket so einen problemverursachenden Versionswechsel gibt?

Ich wünsche Euch weiter gutes Gelingen.

Viele Grüße
Wolfgang

Avatar

MLF 1 funktioniert unter PHP 7.2 grundsätzlich

by Auge ⌂ @, Tuesday, April 09, 2019, 07:00 (79 days ago) @ wo2010

Hallo Wolfgang

Was mir […] neulich durch den Kopf ging:
Könnte es denn sein, daß es auch beim MySQL-Paket so einen problemverursachenden Versionswechsel gibt?

Nicht, dass ich wüsste. Was Probleme verursacht, ist die laxe Definition der Tabellen, die zum Beispiel auf meinem Webspace zu Fehlverhalten führt. Die Definitionen an die strengeren Anforderungen anzupassen, sollte auch auf toleranten Systemen nicht zu Fehlern führen, aber das will ich erst einmal getestet haben.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Release von MLF 1.7.8, getestet mit PHP 7.2

by Auge ⌂ @, Saturday, April 27, 2019, 20:17 (60 days ago) @ wo2010

Hallo

Ich darf hier und heute die Version 1.7.8 des kleinen Forums präsentieren. Diese Version läuft bei mir (so weit ich das überblicken kann) problemlos unter PHP 7.2.17.

Ich habe alle Aufrufe der mysql-Funktionen durch mysqli-Funktionen ersetzt. Weiterhin habe ich alle Queries korrigiert, so dass nun alle von außen stammenden Werte ihrem Typ entsprechend maskiert werden (mysqli_real_escape_string, intval u.s.w.). Alle Spalten in den Datenbanktabellen haben nun einen Vorgabewert. Das Installationsskript wurde überarbeitet.

Es gab keine weiteren funktionellen Änderungen und Erweiterungen.

Ich habe sowohl eine Neuinstallation ausgeführt als auch ein Update von Version 1.7.7. Beide Vorgänge waren erfolgreich. Da ich aber keine Foreneinträge aus einem Livebetrieb habe, sondern nur ein paar selbsterstellte Testeinträge, kann ich für das Update nicht zusichern, dass an dieser Stelle alles klappt. Ich kann allerdings auch keine Änderung benennen, die zu Problemen führen könnte.

Bitte erstellt vor dem Update Backups der Forenskripte und der zum Forum gehörenden Datenbanktabellen.

Bitte meldet Fehler, die ihr findet, in meinem Forum oder auf Github im Issuetracker.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Tags:
release, 1.7.8, mlf 1.7.8, my little forum, mlf

Release von MLF 1.7.8, getestet mit PHP 7.2

by wo2010, Wednesday, May 01, 2019, 10:37 (57 days ago) @ Auge

Lieber Auge,

das ist ja prima, herzlichen Dank.

Es wird aber noch ein oder zwei Wochen dauern, bis ich die neue Version ausprobieren kann. Werde mich dann wieder melden.

Viele Grüße
Wolfgang

RSS Feed of thread
powered by my little forum