PHP-FPM

PHP app 使用 PHP-FPM;Fluxheim 負責提供 static assets,並安全噉轉發 PHP request。

外部 PHP-FPM 池

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

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

端點選擇

模式以下情況使用
socketFluxheim 和 PHP-FPM 在同一主機上運作。
tcpPHP-FPM runs in another container or host.
tcp_upstreams你想喺多個 PHP-FPM pools 之間做簡單 safe-method failover。
managed由 Fluxheim 啟動同監管一個私有 PHP-FPM master。

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. Use it when you want Fluxheim to own the socket and generated pool files.

PHP 安全ty controls

  • 將 PHP 檔案保存在配置的根目錄中。
  • 盡可能直接提供靜態資產。
  • 當 PHP 執行失敗時,切勿暴露 PHP 原始碼。
  • 拒絕在上傳目錄中執行 PHP。
  • 對唔可信嘅應用程式設定 request 同 response byte 上限。
粵語