Was du über die Einführung von PHP 7.4 bei goneo wissen solltest

Am 2.März 2020 beginnen Techniker bei goneo damit, die Software auf nahezu allen Servern zu aktualisieren. Eine Ausnahme bilden noch die Hosting-Produkte, die mit virtuellen Maschinen realsiert werden. Diese erhalten Softwareupdates nachdem die Systemhardware ausgetauscht worden ist.

Die Arbeiten sollten am 10.März abgeschlossen sein. Ab diesem Zeitpunkt steht das aktuelle stabile Release PHP 7.4 für alle Hostingkunden bei goneo zur Verfügung.

In diesem Zug werden wir PHP 7.1 aus dem Angebot entfernen. Der Grund dafür ist, dass PHP 7.1 mittlerweile „end-of-life“-Status erreicht hat. Somit ist nicht mehr mit Updates und Bugfixes zu rechnen. Dies war von den Herausgebern und Entwicklern von PHP seit langem so geplant. Auch die aktuell unterstützten Versionen 7.2, 7.3 und demnächst 7.4 haben heute bereits ein definiertes „Verfallsdatum“. Diese Planung ist in einer sogenannten Roadmap abgebildet. Diese sieht zur Zeit so aus:

https://www.php.net/supported-versions.php

Bei PHP 7.4 soll es sich um die letzte Version unter PHP 7 handeln. Die nächste Hauptversion, PHP 8, ist in Vorbereitung. Wohin die Reise geht, kann aktuell nur vermutet werden. Das Magazin entwickler.de beschäftigt sich damit.

Bei goneo gibt es zwei unterschiedliche Formen der Einbindung von PHP. Dies spielt dann eine Rolle, wenn man als Entwickler oder Programmierer, der Skripte optimiert, bestimmte Parameter verändern möchte.

So ist es einigermaßen beliebt, die maximale Skriptlaufzeit anzupassen, falls umfangreiche Berechnungen und Datenbankabfragen nötig sind. Ein anderes häufiges Szenario ist die Vergrößerung des reservierten Arbeitsspeichers oder Erweiterung der maximale Größe von Dateien, die mit PHP-Funktionalitäten hochgeladen werden sollen.

Wir unterscheiden bei goneo die Standardversion von PHP, die als Apache Modul angelegt ist. Dies ist vor März 2020 die Version PHP 7.1. Künftig, also nach dem globalen Server-Update ab dem 2.März 2020 wird dies PHP 7.3 sein. Die Versionen 7.2 und 7.4 werden dann über das Common Gateway Interface CGI angesprochen. Dies spielt für die standardmäßige Ausführung von Webanwendungen oder Scripts keine Rolle. Es definiert nur, wie der Webserver mit den zusätzlichen Softwarekomponenten kommuniziert und Daten austauscht.

PHP kennt einige Parameter, die standardmäßig festgelegt werden, aber veränderbar sind. Wer solche Veränderungen diverser Parameter bewirken möchte, muss je nach PHP-Version unterscheiden: Die Standardversion, die als Modul in Apache eingebunden ist, lässt sich mit Einträgen in der Datei .htaccess konfigurieren. Dazu muss man die Namen der Werte kennen, die man verändern möchte. Anhaltspunkte kann die Ausgabe von phpinfo() liefern (ein Beispiel hier: http://php-73.goneo-hilfe.de/phpinfo.php ).

Künftig ist PHP 7.3 die Standardversion, also sollten Änderungen von Werten mit .htaccess-Einträgen vorgenommen werden. Wie die Einträge semantisch aussehen sollten, ist in der Hilfe bei goneo dokumentiert. Ansonsten gibt auch die PHP-Dokumentation Anleitung dafür.

Im Unterschied zu der als Standardversion benannten Ausgabe von PHP verändert man Parameter für PHP 7.2 und 7.4 mit einer Datei namens .user.ini. Man beachte den Punkt vor „user“. Nur wenn diese so benannt wird, wird diese Datei berücksichtigt (früher übernahm eine Datei namens php.ini diese Funktion). Auch das ist in der goneo-Hilfe dokumentiert.

PHP 7.4 ist durchaus nicht nur ein kleines Update, dass sich an 7.3 eben anschließt. PHP 7.4 bringt Preloading ins Spiel, ebenso Typed Properties und ein Foreign Function Interface (FFI). Damit lassen sich Funktionen integrieren, die in C geschrieben sind. t3n berichtet mehr dazu.

5 Antworten auf „Was du über die Einführung von PHP 7.4 bei goneo wissen solltest“

  1. Moin,
    danke für die Info. Wie schon mal unter Eurem letzten Podcast gefragt:

    Bislang weist Ihr ja PHP 7.1 immer noch als „empfohlen“ aus. Werden nun mit der Umstellung automatisch von Euch alle Webserver-Einträge auf 7.3 oder 7.4 gesetzt oder muss ich das bei allen Webservern im Kundencenter selbst umstellen?
    Wie komme ich von 7.1 direkt auf 7.4 wenn 7.4 jetzt noch nicht da ist, aber mit Erscheinen von 7.4 die Version 7.1 bereits weg ist?

    1. Das Verfahren sieht so aus: PHP 7.3 ersetzt PHP 7.1 als Standardversion („empfohlene Version“), die als Apache Modul implementiert ist und mit .htaccess-Direktive bei Bedarf individuell konfiguriert bzw. parametrisiert werden kann. PHP 7.2 und 7.4 werden über CGI angesprochen und sind bei Bedarf mit .user.ini individuell zu konfigurieren. Ansonsten greifen die Standardwerte. Wer aktuell PHP 7.1 als Version eingestellt hat, wird nach dem März-2020-Serverupdate PHP 7.3 eingestellt vorfinden. Die Unterschiede zwischen 7.1 und 7.3 sind wenig gewaltig, nicht vergleichbar mit dem Sprung von 5.6 auf 7.0 oder 7.1. Es werden keine Unverträglichkeiten erwartet und die meisten Webanwendungen werden mit 7.3 zurechtkommen, zumal 7.1 bereits „end of life“-Status hat, also ohnehin nicht mehr produktiv verwendet werden sollte.

      Vorbereitend ist es aktuell möglich, testweise von PHP 7.1 auf 7.3 umzuschalten (goneo-Kundencenter). Sollte sich das Verhalten der Website nicht verändern, sind keine Probleme zu erwarten. Allerdings gilt dies nur, wenn keine eigenen Werte für PHP-Parameter gesetzt wurden. Gegebenenfalls müsste für einen solchen Test statt entsprechender .htaccess-Einträge eine .user.ini-Datei angelegt werden, die die erforderlichen Änderungen bewirkt.

    1. Ist das ein virtueller Server? Falls ja, dann wird für diese Produktgruppe das Update nachgezogen. Die virtuellen Maschinen erhalten andere Hardware. Um im Zuge des Tauschs eine weitere Downtime zu vermeiden, wurden beide Updates (Software und Hardware) zusammengelegt.

Schreibe einen Kommentar

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