← Zurück zum Glossar
webentwicklung

PHP

Server-seitige Skriptsprache, die den Kern von WordPress antreibt – verarbeitet Anfragen, spricht Datenbanken an und erzeugt HTML.

Aktualisiert: 23. Februar 2026

Was ist PHP?

PHP (PHP: Hypertext Preprocessor — ein rekursives Akronym) ist eine serverseitige Skriptsprache, die ursprünglich 1994 von Rasmus Lerdorf entwickelt wurde. PHP verarbeitet HTTP-Anfragen auf dem Server, spricht Datenbanken an, erzeugt dynamisches HTML und bildet die technische Grundlage von WordPress, Drupal, Joomla, Magento und zahlreichen anderen Web-Plattformen.

Für Webseitenbetreiber ist PHP der unsichtbare Motor im Hintergrund: Jeder WordPress-Seitenaufruf startet einen PHP-Prozess, der das CMS lädt, Datenbanken abfragt, Templates rendert und schließlich HTML an den Browser zurückgibt. Die PHP-Version und -Konfiguration haben direkten Einfluss auf Sicherheit, Geschwindigkeit und Kompatibilität.

Kurzprofil PHP

Kurzprofil PHP

  • Typ: Server-seitige Skriptsprache
  • Entwickelt von: Rasmus Lerdorf (1994), heute PHP Group / Community
  • Aktuelle Versionen: PHP 8.2 (Security-Support bis Dez. 2025), PHP 8.3 (aktiv), PHP 8.4 (aktiv)
  • Lizenz: PHP License (Open Source)
  • Typischer Einsatz: WordPress, CMS-Systeme, Web-APIs, E-Commerce
  • Ausführungsmodell: PHP-FPM (FastCGI Process Manager) für Produktion
  • Opcode-Cache: OPcache (seit PHP 5.5 eingebaut)

Wie funktioniert PHP im WordPress-Stack?

Ein typischer WordPress-Request läuft so ab:

Browser → Nginx/Apache → PHP-FPM → PHP-Interpreter
                                    ↓
                         WordPress-Bootstrap (wp-load.php)
                                    ↓
                         MySQL-Abfragen (20–100 Queries)
                                    ↓
                         Template-Rendering (Theme-PHP-Dateien)
                                    ↓
                         HTML → zurück durch Nginx an Browser

PHP-FPM (FastCGI Process Manager) ist der Standardweg, PHP in Produktion zu betreiben. PHP-FPM hält einen Pool von Worker-Prozessen vor, die auf Anfragen warten. Bei eingehenden Requests weist der Nginx-Reverse-Proxy eine Anfrage einem freien Worker zu. Konfigurierbare Parameter:

  • pm.max_children: Maximale Anzahl gleichzeitiger Worker (RAM-Limit beachten!)
  • pm.process_idle_timeout: Zeit bis ungenutzte Worker gestoppt werden
  • pm = dynamic|static|ondemand: Prozess-Management-Strategie

OPcache: PHP-Skripte werden bei jedem Aufruf normalerweise neu geparst und zu Bytecode kompiliert. OPcache speichert den kompilierten Bytecode im Shared Memory — beim zweiten Aufruf derselben Datei entfällt das Parsen. Für WordPress mit hunderten PHP-Dateien ist OPcache unverzichtbar und reduziert die Ausführungszeit um 30–50 %.

PHP-Versionen und WordPress-Kompatibilität

WordPress unterstützt offiziell PHP 7.4 als Minimum, empfiehlt aber PHP 8.x. Die Performance-Unterschiede zwischen PHP-Versionen sind erheblich:

Relative Performance (Requests/Sekunde, WordPress, mehr = besser):
  PHP 7.0: 100 % (Baseline)
  PHP 7.4: 135 %
  PHP 8.0: 148 %
  PHP 8.1: 162 %
  PHP 8.2: 169 %
  PHP 8.3: 175 %

Diese Werte stammen aus Kinsta PHP Benchmarks und variieren je nach Workload — aber der Trend ist eindeutig: Jede Major-Version bringt messbare Performance-Gewinne.

PHP 8.x Neuerungen für WordPress-Entwickler:

  • PHP 8.0: JIT-Compiler (für numerisch intensive Workloads), Named Arguments, Match Expressions, Nullsafe Operator
  • PHP 8.1: Enums, Readonly Properties, Fibers (Coroutines)
  • PHP 8.2: Readonly Classes, null-Strict-Typing
  • PHP 8.3: Typed Class Constants, json_validate()-Funktion

PHP für WordPress-Betreiber

PHP-Version prüfen und aktualisieren:

# Aktuelle Version:
php --version

# In Docker/Podman:
docker exec wp_container php --version

# WP-CLI zeigt PHP-Version:
wp --info | grep 'PHP version'

Warum PHP aktuell halten?

  • Sicherheit: Ältere PHP-Versionen erhalten keine Security-Updates (PHP 7.4: Support-Ende Dez. 2022)
  • Performance: Neuere Versionen sind messbar schneller (s.o.)
  • Plugin-Kompatibilität: Aktuelle Plugins und WooCommerce-Extensions setzen PHP 8.x voraus

php.ini-Konfiguration für WordPress:

; Ausführungszeit
max_execution_time = 60
max_input_time = 60

; Speicher
memory_limit = 256M

; Uploads
upload_max_filesize = 64M
post_max_size = 64M

; OPcache
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60

; APCu
extension=apcu.so
apc.shm_size = 128M
Praxis-Tipps

PHP für WordPress optimieren

  • PHP 8.2 oder 8.3 verwenden: Messbare Performance-Gewinne gegenüber 7.x
  • OPcache: Aktiviert und ausreichend Memory (mindestens 128 MB)
  • APCu für Object Cache auf Single-Server-Setups
  • PHP-FPM: pm.max_children auf RAM-Basis berechnen: max_children = (freies RAM) / (PHP-Prozess-RAM)
  • Slow Log: request_slowlog_timeout = 5s in PHP-FPM-Pool-Config — loggt langsame Requests
  • Kein debug-Modus in Produktion: WP_DEBUG = false, display_errors = Off

Was passiert ohne PHP-Optimierung?

Ein schlecht konfiguriertes PHP ist die häufigste Ursache für hohe TTFB-Werte. Typische Probleme:

  • Kein OPcache: Jeder Request parsiert alle WordPress-Dateien neu (+50ms)
  • Altes PHP (7.4): 20–30 % langsamer als PHP 8.2
  • Zu wenige PHP-FPM-Worker: Anfragen warten in der Queue, TTFB steigt bei Last
  • Zu viel Memory pro Worker: Zu wenige gleichzeitige Worker möglich

Häufige Fragen

Was ist der Unterschied zwischen PHP-FPM und mod_php? mod_php bindet den PHP-Interpreter direkt in Apache ein — jeder Apache-Prozess trägt PHP mit sich, auch wenn keine PHP-Anfragen kommen. PHP-FPM läuft als separater Prozess-Pool und erhält Anfragen nur über FastCGI. PHP-FPM ist flexibler (mehrere Pools pro Site), skalierbarer und Standard für moderne Web-Stacks.

Was ist der JIT-Compiler in PHP 8? JIT (Just-in-Time) kompiliert PHP-Bytecode zur Laufzeit in nativen Maschinencode. Für typische WordPress-Workloads (viel I/O, wenig CPU) ist der Gewinn gering (5–10 %). Für rechenintensive PHP-Anwendungen (Bildverarbeitung, Algorithmen) kann JIT 2–3x schneller sein.

Verwandte Begriffe

REST API · Redis

start call_