PHP-FPM

Nutze PHP-FPM für PHP-Apps, während Fluxheim statische Assets ausliefert und PHP-Requests sicher weiterleitet.

Externer PHP-FPM-Pool

[vhosts.php]
enabled = true
root = "/srv/app/public"
index = "index.php"

[vhosts.php.fpm]
mode = "external"
socket = "/run/php-fpm/app.sock"

Endpoint-Auswahl

ModusNutze es, wenn
socketFluxheim und PHP-FPM laufen auf demselben Host.
tcpPHP-FPM runs in another container or host.
tcp_upstreamsDu willst einfaches Failover fur sichere Methoden uber PHP-FPM-Pools.
managedFluxheim soll einen privaten PHP-FPM-Master starten und uberwachen.

Managed PHP-FPM

[vhosts.php.fpm]
mode = "managed"
php_fpm_binary = "/usr/sbin/php-fpm"
socket_dir = "/run/fluxheim/php"
workers = 4
process_manager = "dynamic"
start_servers = 2
min_spare_servers = 1
max_spare_servers = 4

Managed mode lets Fluxheim start a private php-fpm master for the vhost. Nutze es, wenn you want Fluxheim to own the socket and generated pool files.

PHP-Sicherheitskontrollen

  • Halte PHP-Dateien innerhalb des konfigurierten Roots.
  • Liefere statische Assets möglichst direkt aus.
  • Gib niemals PHP-Quellcode preis, wenn PHP-Ausführung fehlschlägt.
  • Verbiete PHP-Ausfuhrung in Upload-Verzeichnissen.
  • Nutze Request- und Response-Byte-Limits fur nicht vertrauenswurdige Anwendungen.
Deutsch