PHP und Magento 2

PHP steht für „PHP: Hypertext Preprocessor“ und ist eine beliebte Open-Source-Programmiersprache. PHP läuft auf dem Webserver des Shops, also nicht in den Web-Browsern der UserInnen. PHP-Code soll und darf deswegen für die BesucherInnen einer Website nicht sichtbar sein.

Welche Rolle spielt PHP für Magento 2?

Kurz gesagt: Magento 2 würde ohne PHP-Code nicht existieren. Der Programm-Code von Magento 2 besteht zu großen Teilen aus PHP. Die Anwendungslogik/Geschäftslogik des Webshops und alle Lese- und Schreibvorgänge für die Daten (Produkte, Kategorien, Kunden, Bestellungen, …) und vieles mehr sind in dieser Sprache geschrieben.

Manchmal liest man Aussagen wie „Magento 3 wird in JavaScript geschrieben“. Das ist aber nur als Witz gemeint. (Prinzipiell kann man eine Shop-Software wie Magento auch in anderen Sprachen schreiben, aber der Aufwand um den Code umzuschreiben würde zum aktuellen Zeitpunkt in keiner Relation zum Nutzen stehen.)

Welche PHP-Versionen unterstützt Magento 2?

In Magento 2.3.2 werden folgende PHP-Versionen unterstützt:

  • PHP 7.1 ab Version 7.1.3
  • PHP 7.2 ab Version 7.2.0

Laut Gerüchten wird PHP 7.3 ab Magento 2.3.3 unterstützt (Stand: August 2019).

Wie lange diese Versionen vom PHP-Team gewartet werden, finden Sie auf der Seite „PHP: Supported Versions„. Mehr zu diesem Thema im nächsten Abschnitt.

Updates der PHP-Version

Das PHP-Team veröffentlicht in regelmäßigen Abständen neue Sprachversionen von PHP. Für eine gewisse Zeit werden alte Versionen noch mit (Sicherheits-)Updates versorgt, aber irgendwann wird der Support eingestellt (siehe End of Life von PHP-Versionen).

Manchmal hebt ein Update von Magento daher auch die minimal unterstützte PHP-Version an. Alte PHP-Versionen, die nicht mehr sicher sind werden nicht mehr unterstützt. Stattdessen kann man die Vorteile neuer Sprach-Features in modernen PHP-Versionen nutzen.

Empfehlung zum Update der PHP-Version

Bisher hat eine Magento-Version immer zwei PHP-Versionen unterstützt. Nutzen Sie das, um das Risiko bei einem Update zu minimieren: aktualisieren Sie entweder die Magento- oder die PHP-Version, aber nicht beides gleichzeitig. Treten nach einem Update Probleme aus, so können Sie leichter herausfinden, wo es hakt.

Wenn Sie von einer sehr alten Magento- oder PHP-Version updaten, kann es bei dieser Vorgehensweise passieren dass Sie das Update in mehreren Schritten durchführen müssen. Vielleicht empfinden Sie das als ärgerlich, weil dadurch mehrfacher Testaufwand auffällt, sofern nicht alle Features automatisiert getestet werden (was selten der Fall ist).

In diesem Fall müssen Sie abwägen:

Nehmen Sie lieber das Risiko in Kauf, führen mehrere Updates in einem durch und investieren Zeit in die nachträgliche Fehlersuche? Sie sind schneller auf der neuen Version, wahrscheinlich bekommen aber Ihre KundInnen von Problemen auch etwas mit.

Oder investieren Sie die Zeit in einzelne Update-Schritte? Ursachen für Probleme werden in der Regel so schneller gefunden und viele Fehler kommen erst gar nicht bei den BesucherInnen an. Dafür haben Sie für die neueste Version eine langsamere „Time to market“.

Weitere Informationen zu PHP

Über PHP wurden so viele Bücher geschrieben, da will ich gar nicht weiter ins Detail gehen.

Wenn Sie mehr zu PHP wissen möchten, lege ich Ihnen als ersten Anhaltspunkt diese Links an’s Herz: