<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/install.fpm.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'install.fpm.configuration.php',
    1 => '配置',
    2 => '配置',
  ),
  'up' => 
  array (
    0 => 'install.fpm.php',
    1 => 'FastCGI 进程管理器（FPM）',
  ),
  'prev' => 
  array (
    0 => 'install.fpm.install.php',
    1 => '安装',
  ),
  'next' => 
  array (
    0 => 'install.pecl.php',
    1 => 'PECL 扩展安装',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'zh',
    'path' => 'install/fpm/configuration.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="install.fpm.configuration" class="sect1">
 <h2 class="title">配置</h2>
 <p class="para">
  FPM 使用类似 <var class="filename">php.ini</var> 语法的 <var class="filename">php-fpm.conf</var> 和进程池配置文件。
 </p>
 <div class="sect2"> 
  <h3 class="title"><var class="filename">php-fpm.conf</var> 全局配置段</h3>
  <dl>
   
    <dt id="pid">
     <code class="parameter">pid</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      PID 文件的位置。默认为空。
     </p> 
    </dd>
   
   
    <dt id="error-log">
     <code class="parameter">error_log</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      错误日志的位置。默认：<code class="literal">#INSTALL_PREFIX#/log/php-fpm.log</code>。
      如果设置为 &quot;syslog&quot;，日志将不会写入本地文件，而是发送到 syslogd。
     </p> 
    </dd>
   
   
    <dt id="log-level">
     <code class="parameter">log_level</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      错误级别。可用级别为：alert（必须立即处理），error（错误情况），warning（警告情况），notice（一般重要信息），debug（调试信息）。默认：notice。
     </p> 
    </dd>
   
     
      <dt id="log-limit">
       <code class="parameter">log_limit</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        日志记录行的限制，允许记录超过 1024 个字符的消息而不需要换行。
        默认值：1024。
        PHP 7.3.0 起可用。
       </p>
      </dd>
     
     
      <dt id="log-buffering">
       <code class="parameter">log_buffering</code>
       <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
      </dt>
      <dd>
       <p class="para">
        实验性：没有额外缓冲的日志记录。
        默认值：yes。
        PHP 7.3.0 后可用。
       </p>
      </dd>
     
     
      <dt id="syslog-facility">
       <code class="parameter">syslog.facility</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        设置何种程序记录消息，默认值：daemon。
       </p>
      </dd>
     
     
      <dt id="syslog-ident">
       <code class="parameter">syslog.ident</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        为每条信息添加前缀。
        如果在同一台服务器上运行了多个 FPM 实例，可以修改此默认值来满足需求。默认值：php-fpm。
       </p>
      </dd>
     
   
    <dt id="emergency-restart-threshold">
     <code class="parameter">emergency_restart_threshold</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      如果子进程在 <code class="literal">emergency_restart_interval</code> 设定的时间内收到该参数设定次数的
      SIGSEGV 或者 SIGBUS退出信息号，则FPM会重新启动。0 表示“关闭该功能”。默认值：0（关闭）。
     </p> 
    </dd>
   
   
    <dt id="emergency-restart-interval">
     <code class="parameter">emergency_restart_interval</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <p class="para">
      <code class="literal">emergency_restart_interval</code>
      用于设定平滑重启的间隔时间。这么做有助于解决加速器中共享内存的使用问题。可用单位：s（秒），m（分），h（小时）或者
      d（天）。默认单位：s（秒）。默认值：0（关闭）。
     </p> 
    </dd>
   
   
    <dt id="process-control-timeout">
     <code class="parameter">process_control_timeout</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <p class="para">
      设置子进程接受主进程复用信号的超时时间。可用单位：s（秒），m（分），h（小时）或者
      d（天）。默认单位：s（秒）。默认值：0（关闭）。
     </p> 
    </dd>
   
     
      <dt id="process-max">
       <code class="parameter">process.max</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        Fork 的最大 FPM 进程数。使用动态管理进程数时，此设计可以控制在一个进程池内的全局进程数量。
        使用需谨慎。默认值：0。
       </p>
      </dd>
     
     
      <dt id="process-priority">
       <code class="parameter">process.priority</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        设置 master 进程的 nice(2) 优先级（如果设置了此值）。
        可以是 -19（最高优先级）到 20 （更低优先级）。
        默认值：不设置。
       </p>
      </dd>
     
   
    <dt id="daemonize">
     <code class="parameter">daemonize</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      设置 FPM 在后台运行。设置“no”将 FPM 保持在前台运行用于调试。默认值：yes。
     </p> 
    </dd>
   
     
      <dt id="rlimit-files-master">
       <code class="parameter">rlimit_files</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
          设置 master 进程的打开文件描述符 rlimit 数。
          默认值：系统定义值。
       </p>
      </dd>
     
     
      <dt id="rlimit-core-master">
       <code class="parameter">rlimit_core</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        设置 master 进程最大 core 的 rlimit 尺寸。
        默认值：0。
       </p>
      </dd>
     
     
      <dt id="events-mechanism">
       <code class="parameter">events.mechanism</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        设置 FPM 使用的事件机制。
        可用以下选项：epoll、kqueue (*BSD)、port (Solaris)、poll、select。
        默认值：不设置（自动检测，优先使用 epoll 和 kqueue）
       </p>
      </dd>
     
     
      <dt id="systemd-interval">
       <code class="parameter">systemd_interval</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        使用 systemd 集成的 FPM 时，设置间歇秒数，报告健在通知给 systemd。
        设置为 0 表示禁用。默认值：10。
       </p>
      </dd>
     
    </dl>
 </div>
 
 <div class="sect2"> 
  <h3 class="title">运行配置区段</h3>
  <p class="para">
   在FPM中，可以使用不同的设置来运行多个进程池。
   这些设置可以针对每个进程池单独设置。 
  </p>
  <dl>
   
    <dt id="listen">
     <code class="parameter">listen</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      设置接受 FastCGI 请求的地址。可用格式为：&#039;ip:port&#039;，&#039;port&#039;，&#039;/path/to/unix/socket&#039;。每个进程池都需要设置。
     </p> 
    </dd>
   
   
    <dt id="listen-backlog">
     <code class="parameter">listen.backlog</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置 listen(2) backlog 的值。在 BSD 系统上 <code class="literal">-1</code> 
      表示无限制。默认值：<code class="literal">-1</code>（FreeBSD 或 OpenBSD）或者 <code class="literal">511</code>（Linux 或其他平台）。
     </p> 
    </dd>
   
   
    <dt id="listen-allowed-clients">
     <code class="parameter">listen.allowed_clients</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      设置允许连接到 FastCGI 客户端的 IPv4 或 IPv6 地址列表。等同于 PHP FastCGI (5.2.2+) 中的 FCGI_WEB_SERVER_ADDRS
      环境变量。仅对 TCP 监听起作用。每个地址是用逗号分隔，如果没有设置或者为空，则允许任何服务器请求连接。默认值：未设置（接受任何 IP 地址）。
     </p> 
    </dd>
   
   
    <dt id="listen-owner">
     <code class="parameter">listen.owner</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      如果使用了 Unix 套接字，表示它的权限。在 Linux 中必须设置读/写权限，以便用于
      WEB 服务器连接。
      在很多 BSD 派生的系统中可以忽略权限允许自由连接。
      默认值：运行所使用的用户和组，权限为 0660。
     </p> 
    </dd>
   
   
    <dt id="listen-group">
     <code class="parameter">listen.group</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      参见 <code class="literal">listen.owner</code>。
     </p> 
    </dd>
   
   
    <dt id="listen-mode">
     <code class="parameter">listen.mode</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      参见 <code class="literal">listen.owner</code>。
     </p> 
    </dd>
   
     
      <dt id="listen-acl-users">
       <code class="parameter">listen.acl_users</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        当系统支持 POSIX ACL（Access Control Lists）时，可以设置使用此选项。
        当设置了的时候，将会忽略 <code class="literal">listen.owner</code> 和 <code class="literal">listen.group</code>。
        值是逗号分割的用户名列表。
       </p>
      </dd>
     
     
      <dt id="listen-acl-groups">
       <code class="parameter">listen.acl_groups</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        参见 <code class="literal">listen.acl_users</code>。
        值是逗号分割的用户组名称列表。
       </p>
      </dd>
     
     
      <dt id="listen-setfib">
       <code class="parameter">listen.setfib</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        设置关联的路由表（FIB）。仅适用于 FreeBSD。默认值 <code class="literal">-1</code>。自 PHP 8.2.0 起可用。
       </p>
      </dd>
     
     
    <dt id="user">
     <code class="parameter">user</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      FPM 进程运行的Unix用户。必须设置。
     </p> 
    </dd>
   
   
    <dt id="group">
     <code class="parameter">group</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      FPM 进程运行的 Unix 用户组。如果不设置，就使用默认用户的用户组。
     </p> 
    </dd>
   
   
    <dt id="pm">
     <code class="parameter">pm</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      设置进程管理器如何管理子进程。可用值：<code class="literal">static</code>，<code class="literal">ondemand</code>，<code class="literal">dynamic</code>。必须设置。
     </p>
     <p class="para">
      <code class="literal">static</code> - 子进程的数量是固定的（<code class="literal">pm.max_children</code>）。
     </p>
     <p class="para">
      <code class="literal">ondemand</code> - 进程在有需求时才产生（当请求时才启动。与
      dynamic 相反，在服务启动时 <code class="literal">pm.start_servers</code> 就启动了。
     </p>
     <p class="para">
      <code class="literal">dynamic</code> - 
      子进程的数量在下面配置的基础上动态设置：<code class="literal">pm.max_children</code>，<code class="literal">pm.start_servers</code>，<code class="literal">pm.min_spare_servers</code>，<code class="literal">pm.max_spare_servers</code>。
     </p>
    </dd>
   
   
    <dt id="pm.max-children">
     <code class="parameter">pm.max_children</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      <code class="literal">pm</code> 设置为 <code class="literal">static</code>
      时表示创建的子进程的数量，<code class="literal">pm</code> 设置为 
      <code class="literal">dynamic</code> 时表示最大可创建的子进程的数量。必须设置。
     </p>
     <p class="para">
      该选项设置可以同时提供服务的请求数限制。类似 Apache 的 mpm_prefork 中 MaxClients
      的设置和 普通PHP FastCGI中的 <var class="varname">PHP_FCGI_CHILDREN</var> 环境变量。
     </p>
    </dd>
   
   
    <dt id="pm.start-servers">
     <code class="parameter">pm.start_servers</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置启动时创建的子进程数目。仅在 <code class="literal">pm</code> 设置为
      <code class="literal">dynamic</code> 时使用。默认值：(min_spare_servers + max_spare_servers) / 2。
     </p> 
    </dd>
   
   
    <dt id="pm.min-spare-servers">
     <code class="parameter">pm.min_spare_servers</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置空闲服务进程的最低数目。仅在 <code class="literal">pm</code> 设置为 <code class="literal">dynamic</code> 时使用。必须设置。
     </p> 
    </dd>
   
   
    <dt id="pm.max-spare-servers">
     <code class="parameter">pm.max_spare_servers</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置空闲服务进程的最大数目。仅在 <code class="literal">pm</code> 设置为 <code class="literal">dynamic</code> 时使用。必须设置。
     </p> 
    </dd>
   
     
      <dt id="pm.max-spawn-rate">
       <code class="parameter">pm.max_spawn_rate</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        同时生成子进程的速率。仅当 <code class="literal">pm</code> 设置为 <code class="literal">dynamic</code>
        时使用。默认值： 32
       </p>
      </dd>
     
     
      <dt id="pm.process-idle-timeout">
       <code class="parameter">pm.process_idle_timeout</code>
       <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
      </dt>
      <dd>
       <p class="para">
        秒数，多久之后结束空闲进程。
        仅当设置 <code class="literal">pm</code> 为 <code class="literal">ondemand</code>。
        可用单位：s（秒），m（分），h（小时）或者
      d（天）。默认单位：10s。
       </p>
      </dd>
     
   
    <dt id="pm.max-requests">
     <code class="parameter">pm.max_requests</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置每个子进程重生之前服务的请求数。对于可能存在内存泄漏的第三方模块来说是非常有用的。如果设置为
      &#039;0&#039; 则一直接受请求，等同于 <var class="varname">PHP_FCGI_MAX_REQUESTS</var> 环境变量。默认值：0。
     </p> 
    </dd>
   
     
      <dt id="pm.status-listen">
       <code class="parameter">pm.status_listen</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        接受 FastCGI 状态请求的地址。会创建一个新不可见池用来独立处理请求。如果主池处理长时间运行的请求时很繁忙，
        那么对长时间运行的请求结束之前能够获得 <a href="fpm.status.php" class="link">FPM 
        状态页面</a>会非常有用。语法与 <a href="install.fpm.configuration.php#listen" class="link">listen</a> 指令相同。默认值：none。
       </p>
      </dd>
     
   
    <dt id="pm.status-path">
     <code class="parameter">pm.status_path</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      查看 <a href="fpm.status.php" class="link">FPM 状态页面</a>的 
      URI。此值必须以斜线（/）开头。如果没有设置，则无法访问状态页面，默认值：无。
     </p> 
    </dd>
   
   
    <dt id="ping.path">
     <code class="parameter">ping.path</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      FPM 监控页面的 ping 网址。如果没有设置，则无法访问 ping
      页面。该页面用于外部检测 FPM 是否存活并且可以响应请求。请注意必须以斜线开头（/）。
     </p> 
    </dd>
   
   
    <dt id="ping.response">
     <code class="parameter">ping.response</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      用于定义 ping 请求的返回响应。返回为 HTTP 200 的 text/plain 格式文本。默认值：pong。
     </p> 
    </dd>
   
     
      <dt id="worker-process-priority">
       <code class="parameter">process.priority</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        设置 worker 的 nice(2)优先级（如果设置了的话）。
        该值从 -19（最高优先级） 到 20（更低优先级）。
        默认值：不设置
       </p>
      </dd>
     
     
      <dt id="process-dumpable">
       <code class="parameter">process.dumpable</code>
       <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
      </dt>
      <dd>
       <p class="para">
        即使进程用户或者组跟主进程用户是不同的，也设置进程可转储标志 (PR_SET_DUMPABLE prctl)。 
        它允许为用户池创建进程 core dump 和 ptrace 进程。
        默认值：no。自 PHP 7.0.29、7.1.17 和 7.2.5 起可用。
       </p>
      </dd>
     
     
      <dt id="prefix">
       <code class="parameter">prefix</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        检测路径时使用的前缀。
       </p>
      </dd>
     
   
    <dt id="request-terminate-timeout">
     <code class="parameter">request_terminate_timeout</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <p class="para">
      设置单个请求的超时中止时间。该选项可能会对 php.ini 设置中的 &#039;max_execution_time&#039;
      因为某些特殊原因没有中止运行的脚本有用。设置为 &#039;0&#039; 表示 &#039;Off&#039;。可用单位：s（秒），m（分），h（小时）或者
      d（天）。默认单位：s（秒）。默认值：0（关闭）。
     </p> 
    </dd>
   
     
      <dt id="request-terminate-timeout-track-finished">
       <code class="parameter">request_terminate_timeout_track_finished</code>
       <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
      </dt>
      <dd>
       <p class="para">
        在 <a href="function.fastcgi-finish-request.php" class="link">fastcgi_finish_request</a> 
        之后或当应用程序结束且调用内部关闭命令时，不会使用通过 <a href="install.fpm.configuration.php#request-terminate-timeout" class="link">request_terminate_timeout</a>
        设置的超时时间。但即使在这种情况下，该指令也可以无条件应用超时限制。默认值：no。自 PHP 7.3.0 启用。
       </p>
      </dd>
     
   
    <dt id="request-slowlog-timeout">
     <code class="parameter">request_slowlog_timeout</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <p class="para">
      当一个请求该设置的超时时间后，就会将对应的 PHP 调用堆栈信息完整写入到慢日志中。设置为
      &#039;0&#039; 表示 &#039;Off&#039;。可用单位：s（秒），m（分），h（小时）或者
      d（天）。默认单位：s（秒）。默认值：0（关闭）。
     </p> 
    </dd>
   
     
      <dt id="request-slowlog-trace-depth">
       <code class="parameter">request_slowlog_trace_depth</code>
       <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      </dt>
      <dd>
       <p class="para">
        slowlog 日志堆栈追踪的深度。默认值：20。自 PHP 7.2.0 起可用。
       </p>
      </dd>
     
   
    <dt id="slowlog">
     <code class="parameter">slowlog</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      慢请求的记录日志。默认值：<code class="literal">#INSTALL_PREFIX#/log/php-fpm.log.slow</code>。
     </p> 
    </dd>
   
   
    <dt id="rlimit-files">
     <code class="parameter">rlimit_files</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置文件打开描述符的 rlimit 限制。默认值：系统定义值。
     </p> 
    </dd>
   
   
    <dt id="rlimit-core">
     <code class="parameter">rlimit_core</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      设置核心 rlimit 最大限制值。可用值：&#039;unlimited&#039;，0 或者正整数。默认值：系统定义值。
     </p> 
    </dd>
   
   
    <dt id="chroot">
     <code class="parameter">chroot</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      启动时的 Chroot 目录。所定义的目录需要是绝对路径。如果没有设置，则 chroot 不被使用。
     </p> 
    </dd>
   
   
    <dt id="chdir">
     <code class="parameter">chdir</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      设置启动目录，启动时会自动 Chdir 到该目录。所定义的目录需要是绝对路径。默认值：当前目录，或者根目录（chroot时）。
     </p> 
    </dd>
   
   
    <dt id="catch-workers-output">
     <code class="parameter">catch_workers_output</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      重定向运行过程中的 stdout 和 stderr 到主要的错误日志文件中。如果没有设置，stdout
      和 stderr 将会根据 FastCGI 的规则被重定向到 /dev/null。默认值：无。
     </p> 
    </dd>
   
     
      <dt id="decorate-workers-output">
       <code class="parameter">decorate_workers_output</code>
       <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
      </dt>
      <dd>
       <p class="para">
       当 <a href="install.fpm.configuration.php#catch-workers-output" class="link">catch_workers_output</a> 启用时，
        为 worker 输出启用输出装饰。
        默认值：yes。
        自 PHP 7.3.0 起可用。
       </p>
      </dd>
     
     
      <dt id="clear-env">
       <code class="parameter">clear_env</code>
       <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
      </dt>
      <dd>
       <p class="para">
        为 FPM worker 进程清除环境变量。
        在进程池配置文件里设置环境变量前，阻止任意系统的环境变量进入 FPM worker 进程。
        默认值：Yes
       </p>
      </dd>
     
     
      <dt id="security-limit-extensions">
       <code class="parameter">security.limit_extensions</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        限制 FPM 允许解析的脚本扩展名。
        此设置可以预防 web 服务器配置的错误。
        应当限制 FPM 仅仅解析 .php 扩展名，阻止恶意用户使用其他扩展名运行 php 代码。
        默认值： .php .phar
       </p>
      </dd>
     
     
      <dt id="apparmor-hat">
       <code class="parameter">apparmor_hat</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        如果启用 AppArmor，允许更换帽子（hat）。
        默认值：未设置
       </p>
      </dd>
     
     
      <dt id="access-log">
       <code class="parameter">access.log</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        Access log 文件。
        默认值：不设置
       </p>
      </dd>
     
     
      <dt id="access-format">
       <code class="parameter">access.format</code>
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      </dt>
      <dd>
       <p class="para">
        access log 的格式。
        默认: <code class="literal">&quot;%R - %u %t \&quot;%m %r\&quot; %s&quot;</code>：
        <table id="fpm.configuration.access.format" class="doctable table">
         <caption><strong>可用选项</strong></caption>
         
          <thead>
           <tr>
            <th>占位符</th>
            <th>描述</th>
           </tr>

          </thead>

          <tbody class="tbody">
           <tr>
            <td>
             <code class="literal">%%</code>
            </td>
            <td><code class="literal">%</code> 字符</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%C</code>
            </td>
            <td>
             请求使用的 %CPU。可以接受以下格式：<code class="literal">%{user}C</code> 仅表示用户
             CPU，<code class="literal">%{system}C</code> 仅表示系统 CPU，<code class="literal">%{total}C</code>
             表示用户 + 系统 CPU（默认）
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%d</code>
            </td>
            <td>
             处理请求所花费的时间。可以接受以下格式以提高精度：<code class="literal">%{seconds}d</code>（默认）<code class="literal">%{milliseconds}d</code>、<code class="literal">%{microseconds}d</code>
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%{<span class="replaceable">name</span>}e</code>
            </td>
            <td>
             环境变量（与 <var class="varname"><a href="reserved.variables.environment.php" class="classname">$_ENV</a></var> 或 <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER</a></var>
             相同）。必须在花括号内指定变量名称，以指定环境 env 的名称。例如，服务器详细信息（如 <code class="literal">%{REQUEST_METHOD}e</code>
             或 <code class="literal">%{SERVER_PROTOCOL}e</code>）、HTTP header（如 <code class="literal">%{HTTP_HOST}e</code> 或
             <code class="literal">%{HTTP_USER_AGENT}e</code>）
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%f</code>
            </td>
            <td>脚本文件名</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%l</code>
            </td>
            <td>
             请求的 <code class="literal">Content-Length</code>（仅适用于 HTTP POST 请求）
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%m</code>
            </td>
            <td>请求 HTTP 方法</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%M</code>
            </td>
            <td>
             PHP 分配的内存峰值。可以接受以下格式：<code class="literal">%{bytes}M</code>（默认）、<code class="literal">%{kilobytes}M</code>、<code class="literal">%{kilo}M</code>、<code class="literal">%{megabytes}M</code>、<code class="literal">%{mega}M</code>
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%n</code>
            </td>
            <td>进程池（pool）名称</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%{<span class="replaceable">name</span>}o</code>
            </td>
            <td>
             输出 header。必须在花括号内指定 header 名称。例如
             <code class="literal">%{Content-Type}o</code>、<code class="literal">%{X-Powered-By}o</code>、<code class="literal">%{Transfer-Encoding}o</code>
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%p</code>
            </td>
            <td>为请求提供服务的子进程的 PID</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%P</code>
            </td>
            <td>为请求提供服务的子进程的父进程 PID</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%q</code>
            </td>
            <td>查询字符串</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%Q</code>
            </td>
            <td>
             如果查询字符串存在，则为 <code class="literal">&#039;?&#039;</code> 字符，或 <code class="literal">%q</code> 和 <code class="literal">%r</code> 之间的连接字符
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%r</code>
            </td>
            <td>
             不带查询字符串的请求 URI，参阅 <code class="literal">%q</code> 和 <code class="literal">%Q</code>
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%R</code>
            </td>
            <td>远程 IP 地址</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%s</code>
            </td>
            <td>状态（响应码）</td>
           </tr>

           <tr>
            <td>
             <code class="literal">%t</code>
            </td>
            <td>
             收到请求的服务器时间。可以接受 <code class="literal">strftime(3)</code> 格式
             <code class="literal">%d/%b/%Y:%H:%M:%S %z</code>（默认）。<code class="literal">strftime(3)</code> 格式必须封装在
             <code class="literal">%{&lt;strftime_format&gt;}t</code> 标签中，例如，对于 ISO8601 格式的时间字符串，使用
             <code class="literal">%{%Y-%m-%dT%H:%M:%S%z}t</code>
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%T</code>
            </td>
            <td>
             写入日志的时间（请求完成时）。可以接受 <code class="literal">strftime(3)</code> 格式
             <code class="literal">%d/%b/%Y:%H:%M:%S %z</code>（默认）。<code class="literal">strftime(3)</code> 格式必须封装在
             <code class="literal">%{&lt;strftime_format&gt;}T</code> 标签中，例如，对于 ISO8601 格式的时间字符串，使用
             <code class="literal">%{%Y-%m-%dT%H:%M:%S%z}T</code>
            </td>
           </tr>

           <tr>
            <td>
             <code class="literal">%u</code>
            </td>
            <td>基本访问认证用户（如果在 <code class="literal">Authorization</code> header 中指定）</td>
           </tr>

          </tbody>
         
        </table>

       </p>
      </dd>
     
     
      <dt id="access.suppress-path">
       <code class="parameter">access.suppress_path</code>
       <span class="type"><a href="language.types.array.php" class="type array">array</a></span>
      </dt>
      <dd>
       <p class="para">
        需要从访问日志中过滤掉的 request_uri 值列表。默认值：未设置。自 PHP 8.2.0 起可用。
       </p>
      </dd>
     
    </dl>
    <p class="para">
     还可以在为一个运行池传递附加的环境变量，或者更新 PHP
     的配置值。可以在进程池配置文件中如下面的配置参数来做到：
     <div class="example" id="example-1">
      <p><strong>示例 #1 给运行池传递环境变量和设置 PHP 的配置值</strong></p>
      <div class="example-contents">
<div class="inicode"><pre class="inicode">env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M</pre>
</div>
      </div>

     </div>
     PHP配置值通过 <code class="literal">php_value</code> 或者
     <code class="literal">php_flag</code> 设置，并且会覆盖以前的值。请注意 
     <a href="ini.core.php#ini.disable-functions" class="link">disable_functions</a> 或者 
     <a href="ini.core.php#ini.disable-classes" class="link">disable_classes</a> 在
     <var class="filename">php.ini</var> 之中定义的值不会被覆盖掉，但是会将新的设置附加在原有值的后面。
    </p>
    <p class="para">
     使用 <code class="literal">php_admin_value</code> 或者 <code class="literal">php_admin_flag</code>
     定义的值，不能被 PHP 代码中的 <span class="function"><a href="function.ini-set.php" class="function">ini_set()</a></span> 覆盖。
    </p>
    <p class="para">
     可以通过 web 服务器设置 PHP 的设定。
     <div class="example" id="example-2">
      <p><strong>示例 #2 在 nginx.conf 中设定 PHP</strong></p>
      <div class="example-contents">
<div class="inicode"><pre class="inicode">set $php_value &quot;pcre.backtrack_limit=424242&quot;;
set $php_value &quot;$php_value \n pcre.recursion_limit=99999&quot;;
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE &quot;open_basedir=/var/www/htdocs&quot;;</pre>
</div>
      </div>

     </div>
     <div class="caution"><strong class="caution">警告</strong>
      <p class="para">
       由于这些设定是以 FastCGI 标头传递给 php-fpm，php-fpm
       不应绑定到外部网可以访问的地址上，否则任何人都能修改 PHP
       的配置选项了。参见
       <a href="install.fpm.configuration.php#listen-allowed-clients" class="link">listen.allowed_clients</a>。
      </p>
     </div>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       进程池不是种安全机制，因为它们不会完全隔离；例如：所有的进程池会使用单个 Opcache 实例。
      </span>
     </p></blockquote>
    </p>
   </div>
   
</div><?php manual_footer($setup); ?>