Files
archived-doc-pt-br/install/fpm/configuration.xml
2025-06-06 22:35:10 -03:00

1069 lines
37 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b01a6761f8e5a1dc58ec92b4bba9b7b5878047fe Maintainer: leonardolara Status: ready --><!-- CREDITS: jeffersonnathan,fabioluciano,ae,leonardolara -->
<sect1 xml:id="install.fpm.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Configuração</title>
<para>
FPM usa a sintaxe do &php.ini; para seus arquivos de configuração - <filename>php-fpm.conf</filename>, e para arquivos de configuração de conuntos.
</para>
<sect2>
<title>Lista de diretivas globais <filename>php-fpm.conf</filename></title>
<variablelist>
<varlistentry xml:id="pid">
<term>
<parameter>pid</parameter>
<type>string</type>
</term>
<listitem>
<para>
Caminho para o arquivo PID. Valor padrão: nenhum.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="error-log">
<term>
<parameter>error_log</parameter>
<type>string</type>
</term>
<listitem>
<para>
Caminho para o arquivo de registro de erro. Valor padrão:
<literal>#INSTALL_PREFIX#/log/php-fpm.log</literal>.
Se configurado como "syslog", o registro será enviado para o syslogd em vez de ser escrito em um arquivo local.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="log-level">
<term>
<parameter>log_level</parameter>
<type>string</type>
</term>
<listitem>
<para>
Nível de registro de erro. Valores possíveis: alert, error, warning, notice,
debug. Valor padrão: notice.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="log-limit">
<term>
<parameter>log_limit</parameter>
<type>int</type>
</term>
<listitem>
<para>
Limite de tamanho das linhas de regitro para permitir mensagens maiores
que 1024 caracteres sem quebras.
Valor padrão: 1024.
Disponível desde o PHP 7.3.0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="log-buffering">
<term>
<parameter>log_buffering</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Log sem buffer extra (experimental).
Valor padrão: yes.
Disponível desde o PHP 7.3.0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="syslog-facility">
<term>
<parameter>syslog.facility</parameter>
<type>string</type>
</term>
<listitem>
<para>
Usado para especificar que tipo de programa está registrando a mensagem.
Valor Padrão: daemon.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="syslog-ident">
<term>
<parameter>syslog.ident</parameter>
<type>string</type>
</term>
<listitem>
<para>
String incluída no início de cada mensagem.
Se houver múltiplas instâncias do FPM em execução no mesmo servidor,
pode-se alterar o valor padrão para adaptar-se às necessidades.
Valor padrão: php-fpm.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="emergency-restart-threshold">
<term>
<parameter>emergency_restart_threshold</parameter>
<type>int</type>
</term>
<listitem>
<para>
Se esse número de processos filho sair com SIGSEGV ou SIGBUS dentro
do intervalo de tempo definido pelo <literal>emergency_restart_interval</literal>,
o FPM será reiniciado. Um valor 0 significa 'desligado'. Valor padrão: 0 (desligado).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="emergency-restart-interval">
<term>
<parameter>emergency_restart_interval</parameter>
<type>mixed</type>
</term>
<listitem>
<para>
Intervalo de tempo utilizado por <literal>emergency_restart_interval</literal> para determinar quando
um reinício será feito. Pode ser útil para contornar
corrupções acidentais em memória compartilhada de um acelerador.
Unidades disponíveis: s(egundos), m(inutos), h(oras), ou d(ias).
Unidade Padrão: segundos. Valor padrão: 0 (desligado).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="process-control-timeout">
<term>
<parameter>process_control_timeout</parameter>
<type>mixed</type>
</term>
<listitem>
<para>
Tempo limite para processos filhos esperarem por uma reação nos sinais do
principal. Unidades disponíveis: s(egundos), m(inutos), h(oras) ou d(ias).
Unidade Padrão: segundos. Valor padrão: 0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="process-max">
<term>
<parameter>process.max</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número máximo de processos que o FPM bifurcará. Foi projetado para
controlar o número global de processos ao utilizar gerenciamento dinâmico de processos
em vários pools. Utilize com cautela.
Valor padrão: 0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="process-priority">
<term>
<parameter>process.priority</parameter>
<type>int</type>
</term>
<listitem>
<para>
Especifica a prioridade de nice(2) a ser aplicada ao processo principal (somente se estiver configurado).
O valor pode variar entre -19 (maior prioridade) e 20 (menor prioridade).
Valor padrão: não definido.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="daemonize">
<term>
<parameter>daemonize</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Envia o FPM para execução em segundo plano. Defina como 'no' para manter o FPM em primeiro plano
para fins de depuração. Valor padrão: yes.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="rlimit-files-master">
<term>
<parameter>rlimit_files</parameter>
<type>int</type>
</term>
<listitem>
<para>
Define o limite de descritores de arquivos abertos para o processo principal.
Valor padrão: valor definido pelo sistema operacional.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="rlimit-core-master">
<term>
<parameter>rlimit_core</parameter>
<type>int</type>
</term>
<listitem>
<para>
Define o limite máximo do tamanho do núcleo do processo principal.
Valor padrão: 0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="events-mechanism">
<term>
<parameter>events.mechanism</parameter>
<type>string</type>
</term>
<listitem>
<para>
Especifica o mecanismo de eventos que o FPM utilizará.
Os seguintes estão disponíveis: epoll, kqueue (*BSD), port (Solaris), poll e select.
Valor padrão: não definido (detecção automática com preferência para epoll e kqueue).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="systemd-interval">
<term>
<parameter>systemd_interval</parameter>
<type>int</type>
</term>
<listitem>
<para>
Quando o FPM for compilado com integração ao systemd, especifica o intervalo,
em segundos, entre notificações de relatório de saúde ao systemd.
Defina com 0 para desabilitar.
Valor padrão: 10.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Lista de diretivas de conjuntos</title>
<para>
Com o FPM, pode-se executar vários conjuntos (pools) de processos com configurações diferentes.
Essas são as configurações que podem ser otimizadas por cada conjunto.
</para>
<variablelist>
<varlistentry xml:id="listen">
<term>
<parameter>listen</parameter>
<type>string</type>
</term>
<listitem>
<para>
O endereço onde as requisições FastCGI serão aceitas. Sintaxes válidas são:
'en.dere.ço.ip:porta', 'porta', '/caminho/para/soquete/unix'. Esta opção é
obrigatória para cada conjunto.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-backlog">
<term>
<parameter>listen.backlog</parameter>
<type>int</type>
</term>
<listitem>
<para>
Define o acúmulo de listen(2). O valor de <literal>-1</literal> significa o máximo em sistemas BSD;.
Valor padrão: <literal>-1</literal> (FreeBSD ou OpenBSD) ou <literal>511</literal>
(Linux e outras plataformas).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-allowed-clients">
<term>
<parameter>listen.allowed_clients</parameter>
<type>string</type>
</term>
<listitem>
<para>
Lista de endereços IPv4 ou IPv6 de clientes FastCGI que estão autorizados a conectar. Equivalente
à variável de ambiente FCGI_WEB_SERVER_ADDRS no FastCGI original do PHP (5.2.2+).
Só faz sentido com um soquete de escuta TCP. Cada endereço deve ser separado por uma vírgula.
Se este valor for deixado em branco, conexões serão aceitas a partir de qualquer endereço IP.
Valor padrão: não definido (qualquer endereço IP aceito).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-owner">
<term>
<parameter>listen.owner</parameter>
<type>string</type>
</term>
<listitem>
<para>
Define permissões para soquete Unix, se utilizado. No Linux, permissões de
leitura/gravação devem ser definidas de forma a permitir conexões a partir de um servidor
web. Muitos sistemas derivados do BSD permitem conexões independentemente das permissões.
Valores padrão: usuários e grupos são definidos como o usuário que está executando, o modo é definido como 0660.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-group">
<term>
<parameter>listen.group</parameter>
<type>string</type>
</term>
<listitem>
<para>
Veja <literal>listen.owner</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-mode">
<term>
<parameter>listen.mode</parameter>
<type>string</type>
</term>
<listitem>
<para>
Veja <literal>listen.owner</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-acl-users">
<term>
<parameter>listen.acl_users</parameter>
<type>string</type>
</term>
<listitem>
<para>
Quando o suporte ao Access Control Lists POSIX for suportado, pode-se configurá-lo utilizando esta opção.
Ao configurá-lo, <literal>listen.owner</literal> e <literal>listen.group</literal>
serão ignorados. Seu valor é uma lista de nomes de usuários, separados por vírgula.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="listen-acl-groups">
<term>
<parameter>listen.acl_groups</parameter>
<type>string</type>
</term>
<listitem>
<para>
Veja <literal>listen.acl_users</literal>.
Seu valor é uma lista de nomes de grupo, separados por vírgula.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="user">
<term>
<parameter>user</parameter>
<type>string</type>
</term>
<listitem>
<para>
Usuário Unix dos processos FPM. Esta opção é obrigatória.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="group">
<term>
<parameter>group</parameter>
<type>string</type>
</term>
<listitem>
<para>
Grupo Unix dos processos FPM. Se não for definido, o grupo padrão do usuário será
utilizado.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm">
<term>
<parameter>pm</parameter>
<type>string</type>
</term>
<listitem>
<para>
Define como o gerenciador de processos controlará o número de processos
filhos. Valores possíveis: <literal>static</literal>, <literal>ondemand</literal> ou
<literal>dynamic</literal>.
Esta opção é obrigatória.
</para>
<para>
<literal>static</literal> - o número de processos filho é fixo (<literal>pm.max_children</literal>).
</para>
<para>
<literal>ondemand</literal> - os processos são criados sob demanda (quando solicitado,
em oposição a "dynamic", onde <literal>pm.start_servers</literal> são iniciados
quando o serviço é iniciado.
</para>
<para>
<literal>dynamic</literal> - o número de processos filhos é definido dinamicamente com base nas
seguintes diretivas: <literal>pm.max_children</literal>, <literal>pm.start_servers</literal>,
<literal>pm.min_spare_servers</literal> e <literal>pm.max_spare_servers</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.max-children">
<term>
<parameter>pm.max_children</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número de processos filhos a serem criados quando <literal>pm</literal> está definido como
<literal>static</literal> e o número máximo de processos filhos a serem criados
quando <literal>pm</literal> está deinido como <literal>dynamic</literal>. Esta
opção é obrigatória.
</para>
<para>
Esta opção define o limite para o número de solicitações simultâneas que
serão servidas. Equivalente à directiva ApacheMaxClients com
mpm_prefork e à variável de ambiente <varname>PHP_FCGI_CHILDREN</varname> no
FastCGI original do PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.start-servers">
<term>
<parameter>pm.start_servers</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número de processos filhos criados na inicialização.
Usado apenas quando <literal>pm</literal> é definido para <literal>dynamic</literal>.
Valor padrão: (min_spare_servers + max_spare_servers) / 2.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.min-spare-servers">
<term>
<parameter>pm.min_spare_servers</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número mínimo desejado de processos servidores ociosos. Usado apenas quando
<literal>pm</literal> está definido como <literal>dynamic</literal>. Também
obrigatório neste caso.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.max-spare-servers">
<term>
<parameter>pm.max_spare_servers</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número máximo desejado de processos servidores ociosos. Usado apenas quando
<literal>pm</literal> está definido como <literal>dynamic</literal>. Também
obrigatório neste caso.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.max-spawn-rate">
<term>
<parameter>pm.max_spawn_rate</parameter>
<type>int</type>
</term>
<listitem>
<para>
A taxa de criação de processos filhos simulataneamente. Utilizado apenas quando
<literal>pm</literal> é definido para <literal>dynamic</literal>.
Valor padrão: 32
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.process-idle-timeout">
<term>
<parameter>pm.process_idle_timeout</parameter>
<type>mixed</type>
</term>
<listitem>
<para>
O número de segundos após o qual um processo ocioso será encerrado.
Utilizado apenas quando <literal>pm</literal> é configurado como <literal>ondemand</literal>.
Unidades disponíveis: s(egundos) - padrão, m(inutos), h(oras) ou d(ias).
Valor padrão: 10s.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.max-requests">
<term>
<parameter>pm.max_requests</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número de solicitações que cada processo filho deve executar antes
de ressurgir. Isto pode ser útil para contornar vazamentos de memória em bibliotecas de
terceiros. Para processamento interminável de solicitação especifique '0'. Equivalente a
<varname>PHP_FCGI_MAX_REQUESTS</varname>. Valor padrão: 0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.status-listen">
<term>
<parameter>pm.status_listen</parameter>
<type>string</type>
</term>
<listitem>
<para>
O endereço no qual serão aceitas requisições de status FastCGI. Isto cria um novo conunto invisível
que pode manipular as requisições independentemente. Útil se o conjunto principal está ocupado
com requisições longas dado que é possível obter a
<link linkend="fpm.status">página de status FPM</link> antes de terminar essas requisições
longas. A sintaxe é a mesma da diretiva <link linkend="listen">listen</link>.
Valor padrão: none.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="pm.status-path">
<term>
<parameter>pm.status_path</parameter>
<type>string</type>
</term>
<listitem>
<para>
O URI para visualizar a <link linkend="fpm.status">página de status do FPM</link>. Este valor precisa
começar com uma contra barra (/). Se o valor não estiver definido, nenhuma URI será reconhecida como
uma página de status. Valor padrão: none.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ping.path">
<term>
<parameter>ping.path</parameter>
<type>string</type>
</term>
<listitem>
<para>
O URI de ping para chamar a página de monitoramento do FPM. Se este valor não estiver
definido, nenhuma URI será reconhecido como uma página de ping. Isto poderia ser usado para testar
de fora que o FPM está vivo e respondendo. Observe que o valor deve
começar com uma barra (/).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ping.response">
<term>
<parameter>ping.response</parameter>
<type>string</type>
</term>
<listitem>
<para>
Esta diretiva pode ser usado para personalizar a resposta a um pedido
de ping. A resposta é formatada como text/plain com um código de resposta 200.
Valor padrão: pong.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="worker-process-priority">
<term>
<parameter>process.priority</parameter>
<type>int</type>
</term>
<listitem>
<para>
Especifica a prioridade de nice(2) a ser aplicada ao processo (somente se informado).
Esse valor pode variar de -19 (prioridade máxima) to 20 (priridade mínima).
Valor padrão: não definido.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="process-dumpable">
<term>
<parameter>process.dumpable</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Configura o sinalizador dumpable (PR_SET_DUMPABLE prctl) mesmo no caso do usuário ou
ou grupo do processo for diferente usuário do processo principal. Permite criar despejos do
núcleo do processo e rastrear o processo para o usuário do conjunto.
Valor padrão: no. Desde o PHP 7.0.29, 7.1.17 e 7.2.5.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="prefix">
<term>
<parameter>prefix</parameter>
<type>string</type>
</term>
<listitem>
<para>
Especifica um prefixo para interpretação de caminhos.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="request-terminate-timeout">
<term>
<parameter>request_terminate_timeout</parameter>
<type>mixed</type>
</term>
<listitem>
<para>
O tempo limite para servir uma requisição única após o qual o processo
será encerrado. Esta opção deveria ser usada quando a opção INI 'max_execution_time',
não parar a execução do script por algum motivo. Um valor de '0' significa
'Off'. Unidades disponíveis: s(egundos) - padrão, m(inutos), h(oras) ou d(ias).
Valor padrão: 0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="request-terminate-timeout-track-finished">
<term>
<parameter>request_terminate_timeout_track_finished</parameter>
<type>bool</type>
</term>
<listitem>
<para>
O limite de tempo configurado para
<link linkend="request-terminate-timeout">request_terminate_timeout</link> não é disparado
depois de um <link linkend="function.fastcgi-finish-request">fastcgi_finish_request</link> ou
quando a aplicação terminou e funções internas de desligamento estão sendo chamadas. Esta
diretiva irá habilitar o limite de tempo incondicionalmente mesmo para esses casos.
Valor padrão: no. Desde o PHP 7.3.0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="request-slowlog-timeout">
<term>
<parameter>request_slowlog_timeout</parameter>
<type>mixed</type>
</term>
<listitem>
<para>
O tempo limite para servir uma requisição única após o qual um rastreamento PHP
será despejado para o arquivo 'slowlog'. Um valor de '0' significa 'Off'.
Unidades disponíveis: s(egundos) - padrão, m(inutos), h(oras) ou d(ias).
Valor padrão: 0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="request-slowlog-trace-depth">
<term>
<parameter>request_slowlog_trace_depth</parameter>
<type>int</type>
</term>
<listitem>
<para>
A profundidade do rastreamento de pilha para o registro de requisições lentas.
Valor padrão: 20. Desde o PHP 7.2.0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="slowlog">
<term>
<parameter>slowlog</parameter>
<type>string</type>
</term>
<listitem>
<para>
O arquivo de log de requisições lentas. Valor padrão:
<literal>#INSTALL_PREFIX#/log/php-fpm.log.slow</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="rlimit-files">
<term>
<parameter>rlimit_files</parameter>
<type>int</type>
</term>
<listitem>
<para>
Define o limite de descritores de arquivos abertos para processos filhos neste conunto. Valor padrão: valor definido pelo sistema.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="rlimit-core">
<term>
<parameter>rlimit_core</parameter>
<type>int</type>
</term>
<listitem>
<para>
Define o limite máximo do tamanho do núcleo para processos filhos neste conjunto. Valores possíveis: 'unlimited' ou um número inteiro maior ou igual a 0.
Valor padrão: valor definido pelo sistema.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="chroot">
<term>
<parameter>chroot</parameter>
<type>string</type>
</term>
<listitem>
<para>
Realiza um chroot para este diretório na inicialização. Este valor precisa ser definido como
um caminho absoluto. Quando este valor não está definido, chroot não é usado.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="chdir">
<term>
<parameter>chdir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Realiza um chdir neste diretório na inicialização. Este valor precisa ser um caminho
absoluto. Valor padrão: diretório atual ou / no caso de chroot.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="catch-workers-output">
<term>
<parameter>catch_workers_output</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Redireciona stdout e stderr para o registro de erros principal. Se não estiver definido,
stdout e stderr serão redirecionadas para /dev/null de acordo com especificações FastCGI.
Valor padrão: no.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="decorate-workers-output">
<term>
<parameter>decorate_workers_output</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Ativa a decoração de saída dos processos quando <link
linkend="catch-workers-output">catch_workers_output</link> estiver ativo.
Valor padrão: yes.
Disponível desde o PHP 7.3.0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="clear-env">
<term>
<parameter>clear_env</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Limpa o ambiente nos processos do FPM.
Evita que variáveis de ambiente arbitrárias alcancem os processos do FPM
limpando o ambiente neles antes que as variáveis de ambientes especificados nesta
configuração de conjunto sejam adicionadas.
Valor padrão: Yes.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="security-limit-extensions">
<term>
<parameter>security.limit_extensions</parameter>
<type>string</type>
</term>
<listitem>
<para>
Limita as extensões de arquivo do script principal que o FPM permitirá a interpretação.
Isto pode evitar erros de configurações no lado do servidor web.
FPM deve ser limitado a extensões .php para evitar que usuários
maliciosos utilizem outras extensões para executar códigos php.
Valor padrão: .php .phar
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="apparmor-hat">
<term>
<parameter>apparmor_hat</parameter>
<type>string</type>
</term>
<listitem>
<para>
Se o AppArmor estiver ativo, isto permite modificar o "hat".
Valor padrão: não definido.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="access-log">
<term>
<parameter>access.log</parameter>
<type>string</type>
</term>
<listitem>
<para>
O arquivo de registro de acessos.
Valor padrão: não definido.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="access-format">
<term>
<parameter>access.format</parameter>
<type>string</type>
</term>
<listitem>
<para>
O formato do registro de acessos.
Valor padrão: <literal>"%R - %u %t \"%m %r\" %s"</literal>:
<table xml:id="fpm.configuration.access.format">
<title>Opções válidas</title>
<tgroup cols="2">
<thead>
<row>
<entry>Marcador</entry>
<entry>Descrição</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<literal>%%</literal>
</entry>
<entry>Caractere <literal>%</literal></entry>
</row>
<row>
<entry>
<literal>%C</literal>
</entry>
<entry>
%CPU usado pela requisição. Aceita estes formatos:
<literal>%{user}C</literal> somente para CPU de usuário,
<literal>%{system}C</literal> domente para CPU de sistema e
<literal>%{total}C</literal> para CPU de usuário + sistema (padrão)
</entry>
</row>
<row>
<entry>
<literal>%d</literal>
</entry>
<entry>
Tempo decorrido para servir a requisição.
Aceita os seguites formatos de precisão:
<literal>%{seconds}d</literal> (segundos - padrão), <literal>%{milliseconds}d</literal> (milissegundos) e
<literal>%{microseconds}d</literal> (microssegundos).
</entry>
</row>
<row>
<entry>
<literal>%{<replaceable>nome</replaceable>}e</literal>
</entry>
<entry>
Uma variável de ambiente (o mesmo que <varname>$_ENV</varname> ou <varname>$_SERVER</varname>).
O nome da variável de ambiente precisa ser informada entre chaves.
Por exemplo, variáveis específicas de servidor como <literal>%{REQUEST_METHOD}e</literal> ou
<literal>%{SERVER_PROTOCOL}e</literal>, cabeçalhos HTTP como
<literal>%{HTTP_HOST}e</literal> ou <literal>%{HTTP_USER_AGENT}e</literal>.
</entry>
</row>
<row>
<entry>
<literal>%f</literal>
</entry>
<entry>Nome do arquivo do script</entry>
</row>
<row>
<entry>
<literal>%l</literal>
</entry>
<entry>
<literal>Content-Length</literal> da requisição (somente para requisiçoes HTTP POST)
</entry>
</row>
<row>
<entry>
<literal>%m</literal>
</entry>
<entry>Método de requisição HTTP</entry>
</row>
<row>
<entry>
<literal>%M</literal>
</entry>
<entry>
Pico de memória alocada pelo PHP.
Pode aceitar os seguintes formatos:
<literal>%{bytes}M</literal> (padrão), <literal>%{kilobytes}M</literal>
<literal>%{kilo}M</literal>, <literal>%{megabytes}M</literal> ou
<literal>%{mega}M</literal>.
</entry>
</row>
<row>
<entry>
<literal>%n</literal>
</entry>
<entry>Nome do conjunto</entry>
</row>
<row>
<entry>
<literal>%{<replaceable>nome</replaceable>}o</literal>
</entry>
<entry>
Cabeçalho de saída. O nome do cabeçalho precisa ser especificado entre chaves.
Por exemplo: <literal>%{Content-Type}o</literal>,
<literal>%{X-Powered-By}o</literal>, <literal>%{Transfer-Encoding}o</literal>.
</entry>
</row>
<row>
<entry>
<literal>%p</literal>
</entry>
<entry>PID do processo filho que serviu à requisição</entry>
</row>
<row>
<entry>
<literal>%P</literal>
</entry>
<entry>PID do processo pai do processo filho que serviu à requisição</entry>
</row>
<row>
<entry>
<literal>%q</literal>
</entry>
<entry>String de consulta</entry>
</row>
<row>
<entry>
<literal>%Q</literal>
</entry>
<entry>
O caractere <literal>'?'</literal> ou a junção de <literal>%q</literal> e <literal>%r</literal>,
se a string de consulta existir
</entry>
</row>
<row>
<entry>
<literal>%r</literal>
</entry>
<entry>
URI de requisição sem a string de consulta,
consulte <literal>%q</literal> e <literal>%Q</literal>
</entry>
</row>
<row>
<entry>
<literal>%R</literal>
</entry>
<entry>Endereço IP remoto</entry>
</row>
<row>
<entry>
<literal>%s</literal>
</entry>
<entry>Status (código de resposta)</entry>
</row>
<row>
<entry>
<literal>%t</literal>
</entry>
<entry>
Horário do servidor em que a requisição foi recebida. Pode
aceitar um formato de <literal>strftime(3)</literal>:
<literal>%d/%b/%Y:%H:%M:%S %z</literal> (padrão).
O formato <literal>strftime(3)</literal> precisa ser encapsulado em uma
etiqueta <literal>%{&lt;strftime_format&gt;}t</literal>, por exemplo, para uma string
de horário formatada em ISO8601, use:
<literal>%{%Y-%m-%dT%H:%M:%S%z}t</literal>
</entry>
</row>
<row>
<entry>
<literal>%T</literal>
</entry>
<entry>
Horário em que o registro foi preenchido (ao término da requisição). Pode aceitar um
formato <literal>strftime(3)</literal>:
<literal>%d/%b/%Y:%H:%M:%S %z</literal> (padrão).
O formato <literal>strftime(3)</literal> precisa ser encapsulado em uma
etiqueta <literal>%{&lt;strftime_format&gt;}T</literal>, por exemplo, para uma string
de horário formatada em ISO8601, use:
<literal>%{%Y-%m-%dT%H:%M:%S%z}T</literal>
</entry>
</row>
<row>
<entry>
<literal>%u</literal>
</entry>
<entry>Usuário autenticado pelo acesso básico, se especificado no cabeçalho <literal>Authorization</literal></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
É possível passar variáveis de ambiente adicionais e atualizar as configurações do PHP de uma determinado conjunto.
Para fazer isso, precisa-se adicionar as seguintes opções no arquivo de configuração do conjunto.
<example>
<title>Passando variáveis de ambiente e configurações do PHP para o conjunto</title>
<programlisting role="ini">
<![CDATA[
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
]]>
</programlisting>
</example>
Configurações do PHP feitas com <literal>php_value</literal> ou
<literal>php_flag</literal> irão sobrescrever o valor anterior.
Observe que a definição de
<link linkend="ini.disable-functions">disable_functions</link> ou
<link linkend="ini.disable-classes">disable_classes</link> não
irá substituir os valores previamente definidos no <filename>php.ini</filename>,
mas adicionará o novo valor em seu lugar.
</para>
<para>
Configurações definidas com <literal>php_admin_value</literal> e <literal>php_admin_flag</literal>
não podem ser sobrescritas com <function>ini_set</function>.
</para>
<para>
Configurações do PHP podem ser definidas no servidor web.
<example>
<title>Definindo as configurações de PHP no nginx.conf</title>
<programlisting role="ini">
<![CDATA[
set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param PHP_VALUE $php_value;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
]]>
</programlisting>
</example>
<caution>
<para>
Como essas configurações são passadas para o php-fpm como cabeçalhos FastCGI,
o php-fpm não deve ser vinculado a um endereço amplamente acessível.
Caso contrário, qualquer um poderá alterar as opções de configuração do PHP.
Veja também:
<link linkend="listen-allowed-clients">listen.allowed_clients</link>.
</para>
</caution>
<note>
<simpara>
Conjuntos não são um mecanismo de segurança, dado que eles não fornecem uma
separação total; por exemplo, todos os conjuntos utilizam uma única instância do OPcache.
</simpara>
</note>
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->