Support für PHP 7.4 läuft aus

    • Offizieller Beitrag

    nur noch wenige Tage, bis der Support von PHP 7.4 eingestellt wird und zwar an dem 28.11.2022: https://www.php.net/supported-versions.php

    Danach wird es auch keine Sicherheitsupdates mehr geben. Wie geht ihr damit um? Setzt ihr schon auf PHP 8 bei b1gMail? Aktuell wird nur die 7.4.1 damit kompatibel sein. Sie läuft damit, aber ich habe bisher noch nicht geschafft eine finale Version zu veröffentlichen. Ich würde mich freuen, wenn ihr sie testet, damit die (evtl.) auftretende restlichen Fehler behoben werden.

    • Offizieller Beitrag
    Das b1gmail-Plugin zur App ist mit php 8 kompatibel. Sobald ihr also b1gmail-core mit php 8 kompatibel gemacht habt, wird auch meine App damit funktionieren. (Vorausgesetzt ihr benennt die Klassen/Funktionen nicht um oder ändert irgendwelche Methoden-Signaturen.) Ich erwarte, dass man unter php 9 erste kleine Anpassungen durchführen muss.

    Sollte das Plugin BMUser::Fetch nutzen: Ab Beta 3 wurde folgendes geändert.

    Mit Beta 3 wurde die Funktion BMUser::Fetch zu BMUser::staticFetch geändert. Wenn sie genutzt wird, muss das entsprechend in den Plugins geändert werden. Funktion Fetch in der user-Klasse kann weiterhin benutzt werden, darf aber nicht statisch aufgerufen werden (erzeugt ab PHP 8 einen fatalen Fehler).

  • Könnten wir anhand von praktischen Beispielen einmal (gemeinsam) durchgehen, worin die wichtigsten Änderungen bestehen die man im Core von b1gMail (7.4 PL2) ändern/durchführen muss, um zumindest fürs erste weiter mit PHP8 arbeiten zu können? Ein paar Codebeispiele (alt vs. neu) wären super.

    Für Plugins habe ich den Beitrag gelesen: Aufbau Plugins - die Konstruktoren habe ich schon mit PHP7.4 in den meisten Plugins geändert, zumindest sollte das dann kein Problem mehr darstellen.

    Das große Update auf die OSS-Version braucht Zeit und wird zu einem späteren Zeitpunkt durchgeführt. Wenn man - wie ich - sehr viele Anpassungen und Änderungen am eigenen System vorgenommen hat dauert das alles seine Zeit.

    Merci :)

    • Offizieller Beitrag

    Hallo,

    die PHP8-Änderungen sind umfangreich, am einfachsten ist es, die Dateien abzugleichen. Man kann auch im Commit-Historie schauen (am besten alle mit PHP 8 Erwähnung): https://github.com/b1gMail-OSS/b1gMail/commits/main , aber sie ist nicht vollständig, da die alte Historie von b1gMail nicht veröffentlicht werden kann.

    Wo hingeschaut werden muss: Die Klassen. Es wurde ein static (also static function) vorangestellt für alle Funktion die statisch aufgerufen werden. Es war schon in PHP 7 ein Fehler, aber ab 8 führt es zum fatalen Fehler. memcached funktioniert ebenfalls nicht, da sollte vorher auf dem b1gMail Cache-Manager umsteigen.

    Ebenso müssen alle Templates angepasst werden, siehe auch RE: Vorschau b1gMail 7.4.1.

    mal als Beispiel: https://github.com/b1gMail-OSS/b1…/user.class.php

    aus function AddressAvailable($address) wird static function AddressAvailable($address) , weil sie in der index.php so aufgerufen wird: BMUser::AddressAvailable($address)

  • Danke Sebijk für die Beispiele. Kann ich davon ausgehen, dass die Anpassungen (bzw. auch die OSS-Version) auch mit PHP7.4 funktionieren? Soweit ich das verstanden habe, reagiert PHP8 in vielen Fällen einfach strikter auf bestimmte Funktionen (siehe Notice vs. Warnings).

    Das wäre zumindest für mich der einfachere Weg, da man das b1gSystem nach und nach anpassen könnte und erst am Ende dann auf PHP8 umstellt. Mit vorherigem Test auf einer PHP8-Installation natürlich.

    • Offizieller Beitrag

    Danke Sebijk für die Beispiele. Kann ich davon ausgehen, dass die Anpassungen (bzw. auch die OSS-Version) auch mit PHP7.4 funktionieren?

    Ja, hab ja geschrieben, dass b1gMail 7.4.1 mit PHP ab 5.4 kompatibel sein soll (b1gMail 7.4.0 erforderte mind. 5.3).

    Ab b1gMail 7.5 werde ich eine höhere ansetzen, die aktuell unterstützt wird (also mind. 8.0).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!