FPM を使うと、複数のプロセスプールをそれぞれ別の設定で実行することができます。
     プール単位での設定を行う項目を以下に示します。
    
    
     
      - 
       listenstring
- 
       
        FastCGI リクエストを受け入れるアドレス。
        'ip.add.re.ss:port', 'port', '/path/to/unix/socket' 形式の構文が使えます。
        このオプションは、各プール単位で必須となります。
        
- 
       listen.backlogint
- 
       
        listen(2) のバックログを設定します。
        -1はBSD 系のシステムでは最大値を意味します。
        デフォルト値:-1(FreeBSD や OpenBSD)
        または511(Linux やその他のプラットフォーム)
 
- 
       listen.allowed_clientsstring
- 
       
        接続を許可されている FastCGI クライアントの IPv4 または IPv6 アドレス一覧。オリジナル版 PHP FastCGI (5.2.2+)
        における環境変数 FCGI_WEB_SERVER_ADDRS と同じです。
        tcp でリスンするソケットに対してのみ意味をなします。
        書くアドレスはカンマ区切りで指定します。この値を空にしておくと、任意の ip アドレスからの接続を許可します。
        デフォルト値: 任意の ip アドレスを許可。
        
- 
       listen.ownerstring
- 
       
        unix ソケットを使う場合に、そのパーミッションを設定します。Linux では、
        読み書きアクセス権限を設定しないとウェブサーバーからの接続を受け付けることができません。
        多くの BSD 由来のシステムでは、パーミッションにかかわらず接続を受け付けることができます。
        デフォルト値: ユーザーとグループは実行しているユーザーと同じ、モードは 0660
        
- 
       listen.groupstring
- 
       
        listen.ownerを参照ください。
 
- 
       listen.modestring
- 
       
        listen.ownerを参照ください。
 
- 
       listen.acl_usersstring
- 
       
        POSIX の Access Control List をサポートしている場合は、このオプションでそれを指定できます。
        これを設定した場合は、listen.ownerおよびlisten.groupは無視されます。
        値には、ユーザー名をカンマ区切りのリスト形式で指定します。
 
- 
       listen.acl_groupsstring
- 
       
        listen.acl_usersを参照。
        グループ名を、カンマ区切りのリスト形式で指定します。
 
- 
       listen.setfibint
- 
       
        associated the route table (FIB) を設定します。
        FreeBSD でのみ有効です。
        デフォルト: -1。
        PHP 8.2.0 以降で利用可能です。
 
- 
       userstring
- 
       
        FPM プロセスの unix ユーザー。このオプションは必須です。
        
- 
       groupstring
- 
       
        FPM プロセスの unix グループ。未設定の場合は、デフォルトのユーザーのグループを使います。
        
- 
       pmstring
- 
       
        プロセスマネージャが子プロセスの数を制御する方法を選択します。
        使用可能な値: static,ondemand,dynamicこのオプションは必須です。
 
        static- 子プロセスの数は固定 (pm.max_children) です。
 
        ondemand- プロセスを必要に応じて立ち上げます。
        dynamic とは対照的に、リクエストされるとpm.start_serversで指定しただけサービスを開始します。
 
        dynamic- 子プロセスの数は、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_serversの内容に基づいて動的に設定されます。
 
- 
       pm.max_childrenint
- 
       
        pmがstaticの場合は作成される子プロセスの数、pmがdynamicの場合は作成される子プロセスの最大数。
        このオプションは必須です。
 
        このオプションは、同時に処理できるリクエストの最大数を設定します。 
        mpm_prefork での ApacheMaxClients ディレクティブや、
        オリジナル版の PHP FastCGI における環境変数 PHP_FCGI_CHILDREN
        と同じです。
        
- 
       pm.start_serversint
- 
       
        起動時に作成される子プロセスの数。pmがdynamicの場合にのみ使います。デフォルト値: (min_spare_servers + max_spare_servers) / 2
 
- 
       pm.min_spare_serversint
- 
       
        アイドル状態のサーバープロセス数の最小値。
        pmがdynamicの場合にのみ使います。
        また、この場合には必須となります。
 
- 
       pm.max_spare_serversint
- 
       
        アイドル状態のサーバープロセス数の最大値。
        pmがdynamicの場合にのみ使います。
        また、この場合には必須となります。
 
- 
       pm.max_spawn_rateint
- 
       
        一度に子プロセスを生成する数。
        pmの値がdynamicである場合にのみ使えます。
        デフォルト値: 32
 
- 
       pm.process_idle_timeoutmixed
- 
       
        アイドルなプロセスがkillされた後の秒数。
        pmの値が
        使用可能な単位: s(秒)(デフォルト)、m(分)、h(時間)、または d(日)。
        デフォルト値: 10 秒
 
- 
       pm.max_requestsint
- 
       
        各子プロセスが、再起動するまでに実行するリクエスト数。
        サードパーティのライブラリにおけるメモリリークの回避策として便利です。
        再起動せずにずっとリクエストを処理させる場合は '0' を指定します。
        PHP_FCGI_MAX_REQUESTS と同じです。デフォルト値: 0
        
- 
       pm.status_listenstring
- 
       
        FastCGI の statusリクエスト を受け付けるアドレス。
        これを設定すると、独自にリクエストを処理する新しい、
        外からは見えないプールが作られます。
        これは、長時間実行されるリクエストによって
        メインプールがビジーである場合に役立ちます。
        なぜなら、そうした処理に長時間かかるリクエストが終わる前であっても、
        FPM の情報ページ
        を見ることが出来るからです。
        listen
        ディレクティブと設定できる内容は同じです。
        デフォルト値: 未設定。
        
- 
       pm.status_pathstring
- 
       
        FPM の情報ページ
        を見るための URI。この値は、スラッシュ (/) で始めなければいけません。
        この値を省略した場合は、どの URI も情報ページとは見なされません。
        デフォルト値: なし
        
- 
       ping.pathstring
- 
       
        FPM のモニタリングページをコールするための ping URI。この値を省略した場合は、どの URI
        も ping ページとは見なされません。これを使うと、
        FPM が生きていて応答するかどうかを外部から確かめることができます。
        この値の最初はスラッシュ (/) で始めなければならないことに注意しましょう。
        
- 
       ping.responsestring
- 
       
        このディレクティブを使うと、ping リクエストに対するレスポンスをカスタマイズすることができます。
        このレスポンスは text/plain 形式となり、レスポンスコード 200 で返されます。
        デフォルト値: pong
        
- 
       process.priorityint
- 
       
        ワーカープロセスに適用される、
        nice(2) の値の優先度を指定します。
        (指定された場合のみ有効)
        この値は、-19(優先度最高) から、20(優先度最低) まで変わります。
        デフォルト値: 未設定
        
- 
       process.dumpablebool
- 
       
        プロセスのユーザーやグループが、
        masterプロセスのユーザーと異なっていた場合でも、
        プロセスのダンプ可能フラグ(PR_SET_DUMPABLE prctl)を設定します。
        これにより、プロセスのコアダンプを生成できるようになり、
        pool のユーザーがプロセスを ptrace 出来るようになります。
        デフォルト値: no
        PHP 7.0.29, 7.1.17 および 7.2.5 から利用可能
        
- 
       prefixstring
- 
       
        path を評価する際に、
        path の前につける prefix を指定します。
        
- 
       request_terminate_timeoutmixed
- 
       
        単一のリクエストを処理する際のタイムアウト。この時間を過ぎるとワーカープロセスが kill されます。
        このオプションは、'max_execution_time' ini オプションが何らかの理由でスクリプトの実行を止められなかった場合に使われます。
        値 '0' は 'Off' を意味します。 
        使用可能な単位: s(秒)(デフォルト), m(分), h(時間) あるいは d(日)、
        デフォルト値: 0
        
- 
       request_terminate_timeout_track_finishedbool
- 
       
        fastcgi_finish_request がコールされた後や、
        アプリケーションが終了し、
        内部的なシャットダウン関数がコールされているときには適用されない
        request_terminate_timeout を有効にするかどうか。
        このディレクティブを有効にすると、
        そのような適用されないケースでもタイムアウトを無条件に有効にします。
        デフォルト値: no。PHP 7.3.0 以降で利用可能。
        
- 
       request_slowlog_timeoutmixed
- 
       
        単一のリクエストを処理する際のタイムアウト。この時間を過ぎると
        PHP のバックトレースが 'slowlog' ファイルに出力されます。 
        値 '0' は 'Off' を意味します。 
        使用可能な単位: s(秒)(デフォルト), m(分), h(時間) あるいは d(日)、
        デフォルト値: 0
        
- 
       request_slowlog_trace_depthint
- 
       
        slowlog に吐き出されるログのスタックトレースの深さ。
        デフォルト値: 20。PHP 7.2.0 以降で利用可能。
        
- 
       slowlogstring
- 
       
        遅いリクエストを記録するログファイル。デフォルト値:
        #INSTALL_PREFIX#/log/php-fpm.log.slow
 
- 
       rlimit_filesint
- 
       
        このプール内の子プロセス用の、オープン時のファイル記述子の rlimit。デフォルト値: システムで定義されている値
        
- 
       rlimit_coreint
- 
       
        このプール内の子プロセス用の、最大コアサイズの rlimit。
        使用可能な値: 'unlimited' あるいは 0 以上の整数値、
        デフォルト値: システムで定義されている値
        
- 
       chrootstring
- 
       
        このディレクトリに chroot して開始位置とします。この値は絶対パスで指定しなければなりません。
        この値を省略した場合は、chroot を使いません。
        
- 
       chdirstring
- 
       
        このディレクトリに chdir して開始位置とします。この値は絶対パスで指定しなければなりません。
        デフォルト値: カレントディレクトリ、あるいは chroot した場合は /
        
- 
       catch_workers_outputbool
- 
       
        ワーカーの標準出力および標準エラー出力を本体のエラーログにリダイレクトします。
        省略した場合は、FastCGI の仕様にしたがって標準出力および標準エラー出力を
        /dev/null にリダイレクトします。
        デフォルト値: no
        
- 
       decorate_workers_outputbool
- 
       
        catch_workers_output 
        が有効になった場合に、
        ワーカーの出力のデコレートを有効にします。
        デフォルト値: yes
        PHP 7.3.0 以降で利用可能。
        
- 
       clear_envbool
- 
       
        FPM ワーカー内の環境をクリアする。
        任意の環境変数が FPM ワーカープロセスに到達してしまうことを防ぐために、
        ワーカー内の環境をいったんクリアしてから、このプールの設定で指定された環境変数を追加します。
        デフォルト値: Yes
        
- 
       security.limit_extensionsstring
- 
       
        FPM がパース可能なメインスクリプトを拡張子で制限する。
        サーバー側の設定ミスによる被害を抑えることができます。
        FPM には拡張子 .php だけをパースさせるようにしておけば、
        悪意のあるユーザーがその他の拡張子で php のコードを実行させようとする試みを防ぐことができます。
        デフォルト値: .php .phar
        
- 
       apparmor_hatstring
- 
       
        AppArmor が有効になっている場合に、
        ハット変更を許可します。
        デフォルト値: 未設定。
        
- 
       access.logstring
- 
       
        アクセス・ログ・ファイル。
        デフォルト値: 未設定
        
- 
       access.formatstring
- 
       
        アクセス・ログ形式。
        デフォルト値: "%R - %u %t \"%m %r\" %s":
 
- 
       access.suppress_patharray
- 
       
        アクセスログからフィルタすべき request_uri のリスト。
        デフォルト: 未設定。
        PHP 8.2.0 以降で利用可能です。
        
     追加の環境変数を渡して、特定のプールだけで PHP の設定を更新することができます。
     そのためには、次のオプションをプール設定ファイルに追加しなければなりません。