Files
2025-05-31 11:15:10 -03:00

453 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b1116af46680f7baf89c46610430a3b63ce9a1f0 Maintainer: leonardolara Status: ready --><!-- CREDITS: ae, adiel, leonardolara -->
<section xml:id="info.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Opções de configuração do PHP</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.assert.active">assert.active</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Descontinuado desde o PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.bail">assert.bail</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Descontinuado desde o PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.warning">assert.warning</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Descontinuado desde o PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.callback">assert.callback</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Descontinuado desde o PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.quiet-eval">assert.quiet_eval</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Removido desde o PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.assert.exception">assert.exception</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Anteriormente ao PHP 8.0.0 o padrão era <literal>"0"</literal>.
Desencorajado desde o PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.enable-dl">enable_dl</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>&removed.php.future;</entry>
</row>
<row>
<entry><link linkend="ini.max-execution-time">max_execution_time</link></entry>
<entry>"30"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-time">max_input_time</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-nesting-level">max_input_nesting_level</link></entry>
<entry>"64"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-vars">max_input_vars</link></entry>
<entry>1000</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.enable-gc">zend.enable_gc</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.max-allowed-stack-size">zend.max_allowed_stack_size</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponível a partir do PHP 8.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.zend.reserved-stack-size">zend.reserved_stack_size</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponível a partir do PHP 8.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.fiber.stack-size">fiber.stack_size</link></entry>
<entry></entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponível a partir do PHP 8.1.0.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.assert.active">
<term>
<parameter>assert.active</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Ativa a avaliação de <function>assert</function>.
<link linkend="ini.zend.assertions">zend.assertions</link> deve ser
utilizado para controlar o comportamento de <function>assert</function>.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.bail">
<term>
<parameter>assert.bail</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Termina a execução de scripts se uma asserção falharem.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.warning">
<term>
<parameter>assert.warning</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Emite um warning para cada falha de assert.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.callback">
<term>
<parameter>assert.callback</parameter>
<type>string</type>
</term>
<listitem>
<para>
Função a chamar em caso de asserts falharem.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.quiet-eval">
<term>
<parameter>assert.quiet_eval</parameter>
<type>bool</type>
</term>
<listitem>
&warn.feature.removed-8-0-0;
<para>
Utilize a configuração atual de <function>error_reporting</function> durante
a avaliação de expressões assert. Se ativo então nenhum erro é mostrado
(padrão é error_reporting(0)) nas avaliações. Se desativa erros são
mostrados de acordo com as configurações de <function>error_reporting</function>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.exception">
<term>
<parameter>assert.exception</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Lança uma exceção <classname>AssertionError</classname> no caso de um assert
falhar.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.enable-dl">
<term>
<parameter>enable_dl</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Esta diretiva permite ativar ou desativar o carregamento
dinâmico de extensões do PHP com <function>dl</function>
.
</para>
<para>
A razão principal para desligar o carregamento dinâmico é
segurança. Com carregamento dinâmico é possível ignorar todas as restrições de
<link linkend="ini.open-basedir">open_basedir</link>.
O padrão é permitir carregamento dinâmico.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-execution-time">
<term>
<parameter>max_execution_time</parameter>
<type>int</type>
</term>
<listitem>
<para>
Isso configura o tempo máximo, em segundos, que um script é permitido
executar antes de ser terminado. Isso ajuda a prevenir que scripts
mal escritos de lotar os servidores. O padrão
é de <literal>30</literal> segundos. Quando rodando o PHP
a partir da <link linkend="features.commandline">linha de
comando</link> o padrão é zero <literal>0</literal>.
</para>
<para>
O tempo máximo de execução não é afetado por chamadas de sistema,
operações em fluxos, etc. Veja a documentação da função
<function>set_time_limit</function> para mais
detalhes.
</para>
<para>
Seu servidor web pode ter outras configurações de timeout que também
interrompam a execução do PHP. Apache possui uma diretiva
<literal>Timeout</literal> e o IIS tem uma função de timeout CGI.
Ambos com padrão de 300 segundos. Veja a documentação do servidor web
para mais detalhes.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-input-time">
<term>
<parameter>max_input_time</parameter>
<type>int</type>
</term>
<listitem>
<para>
Configura o tempo máximo, em segundos, que um script é permitido dispensar
interpretando dados de entrada, como GET e POST. O cronômetro começa no
momento que o PHP é chamado pelo servidor e termina quando a execução começa.
A configuração padrão é <literal>-1</literal>, o que significa que o valor de
<link linkend="ini.max-execution-time">max_execution_time</link>
será usado. Defina como <literal>0</literal> para permitir tempo ilimitado.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-input-nesting-level">
<term>
<parameter>max_input_nesting_level</parameter>
<type>int</type>
</term>
<listitem>
<para>
Configura a profundidade máxima de níveis das
<link linkend="language.variables.external">variáveis de entrada</link> (
<varname>$_GET</varname>, <varname>$_POST</varname>).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-input-vars">
<term>
<parameter>max_input_vars</parameter>
<type>int</type>
</term>
<listitem>
<para>
Configura quantas <link linkend="language.variables.external">variáveis de
entrada</link> serão aceitas, com o limte aplicado a cada super global
$_GET, $_POST e $_COOKIE separadamente). O uso dessa diretiva
mitiga a possibilidade de ataques de negação de serviço que utilizam colisões de hash.
Se houver mais variáveis do que o especificado nessa diretiva
um <constant>E_WARNING</constant> é lançado, e variáveis de
entrada adicionais são ignorados.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.enable-gc">
<term>
<parameter>zend.enable_gc</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Ativa ou desativa o coletor de refefências circulares.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.max-allowed-stack-size">
<term>
<parameter>zend.max_allowed_stack_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
O espaço máximo de pilha nativa que o sistema operacional permite que
o programa consuma.
Tentar consumir mais do que o sistema operacional permite
normalmente resulta em uma falha grave, sem informações de depuração facilmente
disponíveis.
Para facilitar a depuração, o mecanismo lança uma exceção
<classname>Error</classname>
antes que isso aconteça (quando o programa usa mais que
<link linkend="ini.zend.max-allowed-stack-size">zend.max_allowed_stack_size</link>-<link linkend="ini.zend.reserved-stack-size">zend.reserved_stack_size</link>
bytes de pilha).
</para>
<para>
A recursão no código definido pelo usuário não consome espaço de pilha nativo.
No entanto, funções internas e métodos mágicos sim.
A recursão muito profunda envolvendo essas funções pode fazer com que o programa
esgote todo o espaço de pilha nativa disponível.
</para>
<para>
Os valores possíveis para este parâmetro são:
<simplelist>
<member>
<literal>0</literal>:
Detecta automaticamente o espaço máximo de pilha nativa que o sistema operacional
permite que o programa consuma.
Este é o padrão.
Quando a detecção não é possível, um padrão conhecido do sistema é usado.
</member>
<member>
<literal>-1</literal>: Desativa a verificação do tamanho da pilha no mecanismo.
</member>
<member>
Inteiro positivo: um tamanho fixo, em bytes.
Definir esse valor muito alto tem o mesmo efeito que desabilitar a verificação do
tamanho da pilha.
</member>
</simplelist>
</para>
<para>
Como o tamanho da pilha dos
<link linkend="language.fibers">fibers</link>
é determinado por
<link linkend="ini.fiber.stack-size">fiber.stack_size</link>,
o valor deste parâmetro é usado em vez do
<link linkend="ini.zend.max-allowed-stack-size">zend.max_allowed_stack_size</link>
ao verificar o uso da pilha durante a execução de um Fiber.
</para>
<note>
<para>
Isso não está relacionado a estouros de <emphasis>buffer</emphasis> de pilha e não é um recurso
de segurança.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.reserved-stack-size">
<term>
<parameter>zend.reserved_stack_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
O tamanho da pilha reservada, em bytes.
Isso é subtraído do
<link linkend="ini.zend.max-allowed-stack-size">tamanho máximo permitido da pilha</link>,
como um buffer, ao verificar o tamanho da pilha.
</para>
<para>
Os valores possíveis para este parâmetro são:
<simplelist>
<member>
<literal>0</literal>: Detecta automaticamente um tamanho razoável.
</member>
<member>
Inteiro positivo: um tamanho fixo, em bytes.
</member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.fiber.stack-size">
<term>
<parameter>fiber.stack_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
O tamanho da pilha nativa, em bytes, alocado para cada
<link linkend="language.fibers">Fiber</link>.
</para>
<para>
O valor padrão é 1MiB em sistemas com tamanho de ponteiro inferior a
8 bytes ou 2MiB caso contrário.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- 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
-->