Dies ist eine alte Version des Dokuments!
Apache mit mpm_prefork war bis 2005 ok, heut überholt
PHP‑FPM = PHP FastCGI Process Manager
Technisch:
Das ist ein komplett anderes Architekturmodell.
Wie funktioniert das technisch?
1️⃣ Apache empfängt eine Anfrage
Beispiel: /index.php
2️⃣ Apache erkennt: „Das ist PHP“
Durch den globalen Handler:
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
3️⃣ Apache schickt die Anfrage über einen Unix‑Socket an PHP‑FPM Der Socket ist:
/run/php/php8.2-fpm.sock
4️⃣ PHP‑FPM hat einen Pool von PHP‑Worker‑Prozessen
Beispiel:
pm.max_children = 20
Das bedeutet:
bis zu 20 PHP‑Prozesse gleichzeitig
jeder Prozess kann mehrere Anfragen nacheinander abarbeiten
5️⃣ PHP‑FPM sendet das Ergebnis zurück an Apache
Apache liefert es an den Browser aus.
Seit wann gibt es PHP‑FPM?
PHP‑FPM wurde:
2009 als Patch entwickelt
Heute nutzen alle großen Systeme PHP‑FPM:
Fazit
PHP‑FPM ist:
Und du hast jetzt endlich ein Setup, das für 2026 geeignet ist – nicht für 2005.
nano /etc/php/8.2/fpm/php.ini
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT display_errors = Off log_errors = Off error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT display_errors = Off log_errors = Off
systemctl restart php8.2-fpm systemctl restart apache2
Nur bestimmte Domains ohne Warnungen
Falls du es nur für eine Domain abschalten willst:
In /etc/php/8.2/fpm/pool.d/www.conf:
php_admin_value[error_reporting] = 0 php_admin_value[display_errors] = Off php_admin_value[log_errors] = Off
Dann:
systemctl restart php8.2-fpm