Sie sind hier:

Empfehlungen für das Vorgehen der PHP7.4-Umstellung

Wir empfehlen, bei der PHP7.4-Umstellung anhand der folgenden Schritte vorzugehen.

0

Vorbereitung für die Angebotseinholung

Zunächst sollten Sie oder Ihr Dienstleister alle zu überprüfenden Templates und CustomFunctions exportieren und in die Anlage Ihres Angebotsanschreiben einfügen.

Diese Templates bilden die Grundlage für Ihr Anschreiben an die Unternehmen, die die Umstellung vornehmen sollen (oder das Einholen der Angebote).

Sie schreiben die Unternehmen an, die auf der Liste des KoGIs-Teams sind (und berechtigt sind, in KoGIs zu programmieren) und bitten um Angebote für die Überprüfung und Anpassung (ggf. erfolgt dieser Schritt über Dataport).

Fügen Sie den Link zu der PHP-Seite mit der Liste der abgekündigten Funktionen bei. Hinweis: hier aufgeführt sind die notwendigen Schritte für die Umstellung von 7.1 auf 7.2. Die dort angeführten Links für die Umstellung von 7.2 auf 7.3 und von 7.3 auf 7.4 müssen Sie ebenfalls berücksichtigen.

Sie sollten darauf achten, in Ihrem Anschreiben an die Dienstleister darauf hinzuweisen, dass das Eigentum der Templates und CustomFunctions ausschließlich bei Ihnen liegt und eine Weiterverwendung nicht gestattet ist.

1

Analyse der betroffenen Bereiche für die PHP7.4-Umstellung

Die Unternehmen überprüfen anhand der exportierten Dateien (aus der Angebotsanforderung) den Aufwand für die Umsetzung und protokollieren die Ergebnisse der Analyse.

Aus dieser Analyse erhalten Sie einen Überblick über betroffene Stellen. Es ist durchaus möglich, dass kein Template und CustomFunctions angepasst werden muss.

Diese Liste/Übersicht enthält demnach alle Templates und CustomFunctions die betroffen sind und eine genauere Analyse erforderlich machen.

2

Beispiel für ein Überprüfungsprotokoll

  • Backward incompatible changes
    Changes to error and exception handling
    set_exception_handler()

    Funktion wurde nicht benutzt.

  • Internal constructors always throw exceptions on failure

    Es werden keine Klassen mit "new" erstellt.

  • Parse errors throw ParseError

    Es findet im Template "99_beispieltemplate_d" die dynamische Codeausführung über eval() statt.

  • E_STRICT notices severity changes

    Es findet keine Auswertung der Reporting Ausgaben durch diese Anpassung statt.

Und so weiter

Ergebnis:
Es sind folgende Templates anzupassen:

  • Funktion/Modul xx: 99_beispieltemplate_d, 99_beispieltemplate_l
  • Funktion/Modul yy: 33_beispieltemplate_d, 33_beispieltemplate_l

3

Anpassungen im alten System vor der PHP 7.4-Umstellung

Ihre Übersicht/Liste wird Einträge enthalten, bei denen Sie erkennen können, dass es Stellen/Funktionen gibt, die abgekündigt sind. Dafür gibt es Alternativen.

Diese Alternativen gelten in der Regel für PHP 7.1 und PHP 7.4. Damit können Sie schon frühzeitig umstellen, ohne am Umstellungstag einen Nachteil zu erhalten.

Wir empfehlen, diese Stellen dann schon im alten Stand anzupassen und online zu stellen - vor dem eigentlichen KoGIs-Umstellungstermin.
Wir werden für den KoGIs-Baukasten exakt auf diese Art verfahren. Bisher sind uns keine Templates bekannt, die wir nicht schon zuvor umstellen können.

4

Was bleibt übrig?

Wenn Sie alle bisherigen Anpassungen schon vorgenommen haben, wird es nur sehr vereinzelt ein paar wenige Stellen (oder sehr wahrscheinlich gar keine) geben, die am Umstellungstag betroffen sind.

Diese Ausnahmen betreffen Funktionen, die abgekündigt sind, für die es eine Alternative unter PHP 7.4 gibt, die aber nicht unter PHP 7.1 laufen.

Nur diese Stellen müssen am Umstellungstag angepasst werden.

Wir empfehlen hierbei:

  • Erstellen Sie diese Liste der übrig geblieben Templates/Stellen
  • Schätzen Sie mit Ihrem Dienstleister das Risiko ein, welche Auswirkung die Funktion hat
  • Erstellen Sie von den betroffenen Templates Kopien im Onlinesystem, bereiten Sie diese Kopien vor und tauschen Sie am Umstellungstag einfach die Templates aus

Nur in diesem Fall nehmen Sie auf Wunsch bei mehr als fünf betroffenen Templates Kontakt mit dem CC-EGOV-Team auf, um ggf. ein kleines Zeitfenster zu vereinbaren, in dem das Update erfolgt und der Ausfall damit für die betroffenen Funktionen möglichst nur wenige Minuten dauert.

5

Anpassung der betroffenen Templates

Eine temporäre Entwicklungsinstanz war bei den letzten beiden großen Versionsumstellungen in der Regel nicht notwendig und wird auch nur in sehr begründeten Ausnahmefällen eingerichtet. Diese besprechen Sie bitte mit Ihren Ressortansprechpersonen.

Ausnahme

Sollte Ihre Analyse aus Schritt 4 eine umfangreichere Anpassung erforderlich machen, dann melden Sie dies dem KoGIs unter Angabe von:

  • Anzahl der anzupassenden Templates
  • Übersicht der anzupassenden Templates (jedes betroffene Template ist namentlich anzugeben)
  • Beschreibung der betroffenen Module

In diesem Fall kann Ihnen das KoGIs-Team temporär eine Entwicklungsinstanz auf dem FLORA- oder Cassiopeia-Server zur Verfügung stellen.