PHP 8.1 Fibers

PHP war eine synchrone Sprache bisher, das hat einige Nachteile. Doch mit der Einführung von Fibers in PHP 8.1 ändert sich dies massiv. Was bringt das dem Benutzer? Was muss der Entwickler tun? Darauf gehe ich ein.

Eines der Probleme bei PHP war, dass ein Befehl nach dem anderen abgearbeitet wird  (Befehl1, danach Befehl2, danach Befehl3 usw.). Wenn zum Beispiel etwas auf die Festplatte/Datenbank geschrieben werden muss, wartet PHP, bis der Befehl abgeschlossen ist und macht erst anschliessend weiter.

Fiber mit PHP 8.1 liefert hier eine Möglichkeit Prozesse und Befehle parallel auszuführen. So kann zwar eine Speicherung auf Festplatte/Datenbank durchgeführt werden, aber die Verarbeitung muss nicht auf das Endresultat warten. Sobald das dann eingetroffen ist, kann das Resultat dennoch weiter verarbeitet werden.

Was bedeutet dies einfach gesagt?

Sagen wir, man programmiert eine Parallelisierung. Ein Prozess kümmert sich um den Header, einer um den Footer, und der 3te um den Inhalt. So können 3 CPU Kerne gleichzeitig Tasks ausführen ohne voneinander gebremst zu werden, am Ende wenn alle 3 fertig sind, fügt man das Endresultat zusammen und gibt es aus.
Bis PHP 8.0 war es, als ob eine Person die ganze Arbeit erledigt und PHP 8.1 nun endlich mehrere Mitarbeiter einer Arbeit zuweist.

Das bringt Performance, solange die PHP Codes auch darauf ausgelegt sind, was sich bei der Seitengeschwindigkeit niederschlagen wird.

Bessere CPU Nutzung bei Hosting

Wenn alle PHP Codes darauf ausgelegt sind, wird endlich nicht mehr die Geschwindigkeit der einzelnen CPU Kerne wichtig sein, sondern auch die Masse an Kernen eine Rolle spielen. Diese waren aktuell nur bei mehreren Anfragen parallel wirklich genutzt (Parallelisierung durch Anfragen), nicht jedoch vom Code her.

So können auch günstigere CPUs plötzlich mehr Leistung für PHP Code bringen, was sich vermutlich auch langfristig bei Hosting-Angeboten auswirken wird.

Wie kann man dies alles nutzen?

Einfach gesagt Fibers nutzen. Darin ist alles beschrieben und es gibt natürlich noch viele andere Hilfen. Für Personen die bereits OOP umsetzen, sollte dies keine grosse Umstellung sein. Fibers ist jedoch erst ab Version 8.1 unterstützt.

Das müssen selbstverständlich die PHP Entwickler umsetzen und implementieren. Natürlich sollte der komplette Code darauf ausgelegt sein, aber auch bei Modulen, die viele Ressourcen benötigen und die Seitengeschwindigkeit negativ beeinflussen kann dies eine massive Auswirkung haben.

Serverseitig, mit dem Einsatz von Fibers die Aufgaben zu parallelisieren und per Ajax die Datenmenge zu minimieren und die Seite läuft reibungslos schnell.

Keine günstige Umsetzung, aber eine Zukunftsträchtige!

Haben Sie Fragen zu PHP 8.1 oder brauchen Sie technische Unterstützung?

Melden Sie sich unter .

Gerne helfe ich Ihnen weiter.

Stefan Murawski

Stefan Murawski

Programmierung / Beratung / Konzeption

web updates kmu GmbH-wuk-WordPress und SEO Agentur - SEO Experte Stefan Murawski