Aktuelle stabile Versionen einsetzen

Es gibt eine Optimierung, für die Du keine einzige Zeile Code anfassen musst: die Versionsnummer. Wer von einer veralteten PHP-Fassung auf die aktuelle Reihe wechselt, bekommt bei identischem Programmcode spürbar kürzere Antwortzeiten und weniger Speicherbedarf. Dieselbe Anwendung, dieselbe Aufgabe, weniger Rechenaufwand. Effizienz durch Nichtstun gibt es sonst nirgends im Web.

Info

Die zwei Erfolgskriterien von Guideline 3.15

Versionierung: Nutze die neueste stabile Version der gewählten Sprache und des gewählten Frameworks.

Sprachwahl: Verwende die für die jeweilige Aufgabe am besten geeignete Programmiersprache und berücksichtige dabei, dass viele Werkzeuge und Sprachen für bestimmte Arten von Arbeit optimiert sind. Der Aufwand für eine Umstellung ist gerechtfertigt, wenn der Nutzen die Kosten überwiegt und eine angemessene Nutzerbasis vorhanden ist, sofern das Wohlergehen der Beteiligten nicht beeinträchtigt wird und die Kosten nicht unverhältnismäßig hoch ausfallen.

Meine Einordnung

Das erste Kriterium klingt nach Selbstverständlichkeit und wird trotzdem massenhaft ignoriert. Der Grund ist banal: Ein Update bringt nichts Sichtbares. Es gibt keine neue Funktion vorzuzeigen, kein Ergebnis für die nächste Besprechung. Also bleibt es liegen, und zwar so lange, bis es nicht mehr geht.

Dabei ist der Gewinn real und messbar. Neue Laufzeitumgebungen kommen mit besseren Übersetzern, effizienterem Speichermanagement und schnelleren internen Abläufen. Zwischen den PHP-Generationen lagen die Sprünge teils bei Faktor zwei im Durchsatz. Das bedeutet: dieselbe Besucherzahl auf der halben Serverzeit. Bei einer Anwendung, die tausendfach am Tag läuft, ist das kein Rundungsfehler, sondern der Unterschied zwischen einem gut ausgelasteten und einem überforderten Server.

Auf datensm.art betrifft das zwei getrennte Welten. Auf der Frontend-Seite setze ich auf HTML5, CSS3 und aktuelles JavaScript, ohne Übersetzungsschicht für längst überholte Browser. Hugo halte ich auf der jeweils aktuellen Fassung, ebenso die Suche. Serverseitig läuft PHP genau dort, wo ich es wirklich brauche: für den KGMID-Check, den Green Check und das Kontaktformular. Genau diese drei Stellen sind es, bei denen ich die Version im Blick behalte.

Und hier zeigt sich die eine Einschränkung dieser Guideline in der Praxis: Beim Hosting bist Du nicht Herr im eigenen Haus. Welche PHP-Fassungen zur Verfügung stehen und wie schnell neue nachkommen, entscheidet Dein Anbieter. Was Du entscheiden kannst, ist zweierlei. Erstens, ob Du die angebotene aktuelle Version auch wirklich einschaltest, denn viele Pakete laufen aus Rücksicht auf alte Kundenprojekte weiterhin auf einer betagten Voreinstellung. Zweitens, ob Du bei einem Anbieter bleibst, der neue Versionen erst mit Jahren Verzögerung bereitstellt. Das ist ein legitimes Auswahlkriterium.

Wo ich weiter gehe

Beim zweiten Kriterium, der Sprachwahl, denke ich einen Schritt weiter. Die Guideline fragt, welche Sprache für eine Aufgabe die richtige ist. Ich stelle davor die Frage, ob es überhaupt eine Laufzeitumgebung braucht. Meine Website ist genau deshalb statisch: Der weitaus größte Teil kommt ohne serverseitige Sprache aus. Dort, wo keine Sprache läuft, gibt es auch keine Version, die veralten kann.

Denn jede Technologie, die Du einsetzt, ist nicht nur eine Entscheidung, sondern eine dauerhafte Verpflichtung. Aktualität ist keine Aufgabe, die man einmal erledigt, sondern ein Abonnement. Jede zusätzliche Sprache, jedes Framework, jede Bibliothek verlängert die Liste dessen, was Du auf Dauer gepflegt halten musst. Wer diese Liste kurz hält, hält sie realistisch. Wer sie wachsen lässt, wird sie irgendwann nicht mehr aktuell halten können, und dann veraltet alles gleichzeitig.

Achtung
Eine veraltete Laufzeitumgebung ist nicht nur langsam, sie ist unsicher. Sobald eine Version das Ende ihres Supports erreicht, gibt es keine Sicherheitsaktualisierungen mehr, bekannte Lücken bleiben offen. Was Du dann betreibst, ist keine sparsame Altbewährung, sondern ein offenes Fenster.

Dein erster Schritt heute

Der erste Schritt ist eine reine Bestandsaufnahme und in fünf Minuten erledigt.

Tipp
Schau in der Verwaltungsoberfläche Deines Hosting-Pakets nach, welche PHP-Version für Deine Domain eingestellt ist, und vergleiche sie mit der Übersicht der unterstützten Versionen auf php.net. Steht Deine Version dort in der Spalte ohne Sicherheitsunterstützung, hast Du Deine dringendste Aufgabe gefunden. Wechsle in dem Fall zunächst auf einer Testumgebung oder Nebendomain auf die aktuelle Reihe und prüfe Deine Formulare und Werkzeuge, bevor Du live umschaltest.

Danach dasselbe für alles andere, was Du selbst in der Hand hast: Generator, Suche, Bibliotheken. Wenn Du das einmal im Quartal machst, bleibt es eine kurze Routine statt einer großen Migration.

Die günstigste Optimierung im Web ist eine Zahl, die Du nur hochsetzen musst. Vorausgesetzt, Du hast die Liste dessen, was aktuell bleiben muss, kurz genug gehalten.

Quelle: W3C-Fassung von Guideline 3.15