Manual do PHP
Anterior | Apêndice H. Diretivas do arquivo `php.ini` | Próxima

# DescriÃ§Ã£o das diretivas do principais do arquivo `php.ini`

Essa lista inclue as diretivas principais do arquivo `php.ini` que vocÃª pode modificar para configurar o PHP. Diretivas manipuladas por extensÃµes sÃ£o listadas e detalhadas nas pÃ¡ginas de documentaÃ§Ã£o de suas respectivas extensÃµes; InformaÃ§Ã£o sobre diretivas de sessÃ£o, por exemplo, podem ser encontradas nas pÃ¡ginas de sessÃ£o.

## OpÃ§Ãµes do servidor HTTP

Tabela H-3. OpÃ§Ãµes do servidor HTTP

Nome | Valor padrÃ£o | AlterÃ¡vel | Changelog
--- | --- | --- | ---
async_send | "0" | PHP_INI_ALL |

## OpÃ§Ãµes da Linguagem

Tabela H-4. OpÃ§Ãµes e ConfiguraÃ§Ãµes Mistas da Linguagem

Name | Valor padrÃ£o | Changeable | Changelog
--- | --- | --- | ---
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.0.0.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.0.0.
precision | "14" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.0.0.
expose_php | "1" | `php.ini` only |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | DisponÃvel desde o PHP 5.0.0.

Breve descrição das diretivas de configuração.

`short_open_tag` boolean

  Determina se a forma abreviada das tags de abertura do PHP (`<? ?>`) serÃ£o permitidas. Se vocÃª usar o PHP junto com XML, vocÃª pode desabilitar essa opÃ§Ã£o para usar `<?xml ?>` inline. Caso contrÃ¡rio, vocÃª pode imprimir o XML com o PHP, por exemplo: `<?php echo '<?xml version="1.0"'; ?>`. E, se desabilitado, vocÃª deve usar a forma extensa das tags de abertura do PHP (`<?php ?>`).

  > Nota: Essa diretiva tambÃ©m afeta o atalho `<?=`, que Ã© idÃªntico Ã `<? echo`. Uso desse atalho requer que short_open_tag esteja ativada.

`asp_tags` boolean

  Habilita o uso de tag no estilo ASP <% %> alÃ©m das tags comuns <?php ?>. Isso inclui o atalho para impressÃ£o do valor de variÃ¡vel <%= $value %>. Para mais informaÃ§Ã£o, veja Imprimindo HTML.

  > Nota: Suport para tags no estilo ASP foi adicionado na versÃ£o 3.0.4.

`precision` integer

  O nÃºmero de digitos de significÃ¢ncia mostrado em nÃºmeros decimais (ponto flutuante).

`y2k_compliance` boolean

  ReforÃ§a compatibilidade com ano 2000 (causarÃ¡ problemas com navegadores nÃ£o compatÃveis)

`allow_call_time_pass_reference` boolean

  Se deve lanÃ§ar um aviso quando argumentos sÃ£o passados por referÃªncia durante a chamada de uma funÃ§Ã£o. Esse mÃ©todo Ã© depreciado e provavelmente deixarÃ¡ de ser suportado em versÃµes futuras do PHP/Zend. O mÃ©todo encorajado para especificar quais argumentos devem ser passados por referÃªncia Ã© na declaraÃ§Ã£o da funÃ§Ã£o. VocÃª Ã© encorajado a tentar deligar essa opÃ§Ã£o e assegurar-se que seus script funcionam corretamente para garantir que eles funcionarÃ£o em versÃµes futuras da linguagem (vocÃª receberÃ¡ um aviso cada vez que vocÃª usar essa funcionalidade).

  Passar argumentos por referÃªncia durante a chamade de uma funÃ§Ã£o foi depreciado por razÃµes de clareza de cÃ³digo. A funÃ§Ã£o pode modificar seus argumentos de maneira nÃ£o documentada se nÃ£o for declarado que o argumento foi passado por referÃªncia. Para previnir efeitos-colaterais Ã© melhor especificar quais argumentos sÃ£o passados por referÃªncia apenas na declaraÃ§Ã£o da funÃ§Ã£o.

  Veja tambÃ©m Entendendo ReferÃªncias.

`expose_php` boolean

  Decide se o PHP deve ou nÃ£o expor o fato de que estÃ¡ instalado no servidor (ex.: adicionando sua assinatura ao cabeÃ§alho do servidor Web). NÃ£o Ã© nenhuma falha de seguranÃ§a, mas torna possÃvel determinar se vocÃª usar o PHP no seu servidor ou nÃ£o.

`zend.ze1_compatibility_mode` boolean

  Habilita modo de compatibilidade com o Engine do Zend 1 (PHP 4). Isso afeta a clonagem, conversÃ£o (objetos sem propriedades sÃ£o convertidos para 0), e comparaÃ§Ã£o de objetos. Desse modo, objetos sÃ£o passados, por padrÃ£o, por valor ao invÃ©s de referÃªncia.

  Veja tambÃ©m a seÃ§Ã£o entitulada Migrando do PHP 4 para o PHP 5.

## Limites de Recursos

Tabela H-5. Limites de Recursos

Name | Valor padrÃ£o | AlterÃ¡vel | Changelog
--- | --- | --- | ---
memory_limit | "8M" | PHP_INI_ALL |

Breve descrição das diretivas de configuração.

`memory_limit` integer

  Essa diretiva configura a quantidade mÃ¡xima de memÃ³ria (bytes) que o script pode alocar. Isso ajuda a previnir que scripts mal feitos consumam toda a memÃ³ria disponÃvel em um servidor. Para usar essa diretiva, vocÃª deve habilitÃ¡-la na hora de compilar o PHP. Portanto, sua linha de configure teria que incluir: `--enable-memory-limit`. Note que vocÃª deve configurÃ¡-la para -1 se vocÃª nÃ£o quiser qualquer limite de memÃ³ria.

  A partir do PHP 4.3.2, e quando memory_limit estÃ¡ habilitada, a PHP funÃ§Ã£o memory_get_usage() torna-se disponÃvel.

  Quando um integer é utilizado, o valor é medido em bytes. Você também pode utilizar a notação resumida como descrito neste FAQ.

Veja tambÃ©m: max_execution_time.

## Manuseio de Dados

Tabela H-6. OpÃ§Ãµes de ConfiguraÃ§Ã£o do Manuseio de Dados

Name | Valor padrÃ£o | Changeable | Changelog
--- | --- | --- | ---
track_vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL | DisponÃvel desde o PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | DisponÃvel desde o PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 5.0.5.
auto_globals_jit | "1" | PHP_INI_PERDIR | DisponÃvel desde o PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | DisponÃvel desde o PHP 5.0.0.
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM no PHP <= 4.2.3. DisponÃvel desde o PHP 4.0.3.
gpc_order | "GPC" | PHP_INI_ALL |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3. DisponÃvel desde o PHP 4.1.0.
allow_webdav_methods | "0" | PHP_INI_PERDIR |

Breve descrição das diretivas de configuração.

`track_vars` boolean

  Se disponÃvel, entÃ£o variÃ¡veis de Ambiente, do Servidor, enviadas via GET, POST ou Cookie podem ser encontradas no arrays associativos globais `$_ENV`, `$_SERVER`, `$_GET`, `$_POST` e `$_COOKIE`.

  Preste atenÃ§Ã£o que a partir do PHP 4.0.3, a diretiva track_vars estÃ¡ sempre ligada.

`arg_separator.output` string

  O separador usado para separar argumentos em URLs geradas pelo PHP.

`arg_separator.input` string

  Lista de separador(es) usados pelo PHP para converter URLs em variÃ¡veis.

  > Nota: Cada caracter nessa diretiva Ã© considerado um separador!

`variables_order` string

  Configura a ordem de avaliaÃ§Ã£o das variÃ¡veis EGPCS (Environment (Ambiente), GET, POST, Cookie, Server (Servidor)). A configuraÃ§Ã£o padrÃ£o dessa diretiva Ã© "EGPCS". Usar o valor "GP" para a diretiva, por examplo, farÃ¡ com que o PHP ignore completamente variÃ¡veis de ambiente, cookies e de servidor, e sobrescreva qualquer variÃ¡vel recebida via GET pela variÃ¡vel recebida por mÃ©todo POST que tenha o mesmo nome.

  Veja tambÃ©m register_globals.

`auto_globals_jit` boolean

  Quando habilitada, as variÃ¡veis de ambiente e de servidor sÃ£o criadas quando sÃ£o usadas (Just In Time) ao invÃ©s de quando o script comeÃ§a. Se essas variÃ¡veis nÃ£o forem usadas no script, ligar essa diretiva resultarÃ¡ em ganho de performance.

  As diretivas do PHP register_globals, register_long_arrays, e register_argc_argv devem estar desabilitadas para essa diretiva ter algum efeito.

`register_globals` boolean

  Configura se deve ou nÃ£o registrar variÃ¡veis EGPCS (Environment, GET, POST, Cookie, Server) como globais.

  A partir da versÃ£o do PHP 4.2.0, essa diretiva Ã© desabilitada por padrÃ£o.

  Por favor, leia o capÃtulo de seguranÃ§a em Usando register_globals para informaÃ§Ãµes relacionadas.

  Por favor, perceba que register_globals nÃ£o pode ser configurada em tempo de execuÃ§Ã£o (usando ini_set()). Embora vocÃª possa usar o arquivo `.htaccess` se seu servidor permitir, como descrito acima. Exemplo de entrada no arquivo `.htaccess`: `php_flag register_globals off`.

  > Nota: register_globals Ã© afetada pela diretiva variables_order.

`register_argc_argv` boolean

  Diz ao PHP se deve declarar as variÃ¡veis argv & argc (que contÃªm informaÃ§Ã£o recebida via GET).

  Veja tambÃ©m linha de comando. AlÃ©m disso, essa diretiva estÃ¡ disponÃvel no PHP 4.0.0 e estava sempre ligada antes disso.

`register_long_arrays` boolean

  Diz ao PHP se deve ou nÃ£o criar as variÃ¡veis do tipo `$HTTP_*_VARS` que sÃ£o depreciadas. Quando ligada (padrÃ£o), variÃ¡veis predefinidas com nomes longos como `$HTTP_GET_VARS` serÃ£o criadas. Se vocÃª nÃ£o estiver usando elas, Ã© recomendado desligÃ¡-la, por razÃµes de performance. Ao invÃ©s, use os arrays superglobais, como `$_GET`.

  Essa diretiva se tornou disponÃvel no PHP 5.0.0.

`post_max_size` integer

  Configura o tamanho mÃ¡ximo dos dados enviados via POST. Essa configuraÃ§Ã£o tambÃ©m afeta o envio (upload) de arquivos. Para enviar arquivos grandes, esse valor deve ser maior que upload_max_filesize.

  Se um limite de memÃ³ria for imposto pelo seu script configure, memory_limit tambÃ©m afeta envio de arquivos. De maneira geral, memory_limit deve ser maior que `post_max_size`.

  Quando um integer é utilizado, o valor é medido em bytes. Você também pode utilizar a notação resumida como descrito neste FAQ.

  Se o tamanho de dados for maior que o valor de post_max_size, os arrays `$_POST` e `$_FILES` superglobais estarÃ£o vazios. Isso pode ser verificado de vÃ¡rias maneiras, por exemplo, passando uma variÃ¡vel via `$_GET` ao script que vai processar os dados, ex.: `<form action="edit.php?processed=1">`, e checar se `$_GET['processed']` estÃ¡ configurada.

`gpc_order` string

  Configura a ordem de avaliaÃ§Ã£o das variÃ¡veis GET/POST/COOKIE. A configuraÃ§Ã£o padrÃ£o dessa diretiva Ã© "GPC". ConfigurÃ¡-la para "GP", por exemplo, causarÃ¡ que o PHP ignore os cookies complementamente e sobrescreva qualquer variÃ¡vel recebida via GET com a variÃ¡vel recebida via POST de mesmo nome.

  > Nota: Essa opÃ§Ã£o nÃ£o estÃ¡ disponÃvel no PHP 4. Use variables_order ao invÃ©s.

`auto_prepend_file` string

  Especifica o nome do arquivo que Ã© automaticamente avaliado antes do arquivo principal. O arquivo Ã© incluÃdo como em uma chamada Ã funÃ§Ã£o include(), entÃ£o include_path Ã© usada.

  O valor especial none desabilita a inclusÃ£o automÃ¡tica antes do script rodar.

`auto_append_file` string

  Especifica o nome do arquivo que Ã© automaticamente avaliado depois do arquivo principal. O arquivo Ã© incluÃdo como em uma chamada Ã funÃ§Ã£o include(), entÃ£o include_path Ã© usada.

  O valor especial none desabilita a inclusÃ£o automÃ¡tica depois do script rodar.

  > Nota: Se o arquivo for terminado com exit(), a inclusÃ£o automÃ¡tica nÃ£o ocorrerÃ¡.

`default_mimetype` string

`default_charset` string

  A partir da versÃ£o 4.0b4, PHP sempre envia um tipo de codificaÃ§Ã£o de caracteres no cabeÃ§alho Content-type:. Para desabilitar o envio de um conjunto de caracteres, simplesmente deixe essa diretiva vazia.

`always_populate_raw_post_data` boolean

  Sempre popular o array `$HTTP_RAW_POST_DATA` contendo os dados raw enviados via POST. Caso contrÃ¡rio, a variÃ¡vel Ã© populada somente com o tipo MIME nÃ£o reconhecido dos dados. No entanto, o mÃ©todo preferido para acessar dados raw enviados via POSTÃ© php://input. `$HTTP_RAW_POST_DATA` nÃ£o estÃ¡ disponÃvel com `enctype="multipart/form-data"`.

`allow_webdav_methods` boolean

  Permite lidar com requisiÃ§Ãµs http WebDAV dentro de scripts (ex.: PROPFIND, PROPPATCH, MOVE, COPY, etc.). Essa diretiva nÃ£o existe nas versÃµes inferiores Ã 4.3.2. Se vocÃª quiser receber os dados dessas requisiÃ§Ãµes, vocÃª tem que ligar always_populate_raw_post_data tambÃ©m.

Veja tambÃ©m: magic_quotes_gpc, magic_quotes_runtime, e magic_quotes_sybase.

## Caminhos e DiretÃ³rios

Tabela H-7. OpÃ§Ãµes de ConfiguraÃ§Ãµes de Caminhos e DiretÃ³rios

Name | Valor padrÃ£o | AlterÃ¡vel | Changelog
--- | --- | --- | ---
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | `php.ini` only |
cgi.fix_pathinfo | "1" | PHP_INI_ALL | DisponÃvel desde o PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_ALL | DisponÃvel desde o PHP 4.2.0.
cgi.redirect_status_env | NULL | PHP_INI_ALL | DisponÃvel desde o PHP 4.2.0.
fastcgi.impersonate | "0" | PHP_INI_ALL | DisponÃvel desde o PHP 4.3.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | DisponÃvel desde o PHP 4.3.0.

Breve descrição das diretivas de configuração.

`include_path` string

  Especifica a lista de diretÃ³rios onde as funÃ§Ãµes require(), include() e fopen_with_path() procurem arquivo. O formato Ã© como a variÃ¡vel de ambiente `PATH` do sistema: uma lista de diretÃ³rios separadas com dois-pontos no Unix e ponto-e-vÃrgula no Windows.

  Exemplo H-1. Unix include_path

      include_path=".:/php/includes"

  Exemplo H-2. Windows include_path

      include_path=".;c:\php\includes"

  Usando um `.` no caminho de inclusÃ£o permite includes usando caminho relativo, jÃ¡ que significa o diretÃ³rio atual.

`doc_root` string

  O "diretÃ³rio raiz" do PHP no servidor. SÃ³ usada se nÃ£o estiver vazia. Se o PHP Ã© configurado com safe mode, nenhum arquivo fora desse diretÃ³rio pode ser acessado. Se o PHP nÃ£o foi compilado com FORCE_REDIRECT, vocÃª deve configurar doc_root se vocÃª estivar usando o PHP como CGI em qualquer servidor web (fora o IIS). A alternativa Ã© usar a diretiva cgi.force_redirect abaixo.

`user_dir` string

  O nome base do diretÃ³rio usado na home do usuÃ¡rio para arquivos PHP, por examplo, `public_html` .

`extension_dir` string

  Em qual diretÃ³rio o PHP deve procurar por extensÃµes carregadas dinamicamente. Veja tambÃ©m: enable_dl, e dl().

`extension` string

  Quais extensÃµes carregÃ¡veis dinamicamente devem ser carregadas quando o PHP iniciar.

`cgi.fix_pathinfo` boolean

  Prove suporte real para PATH_INFO/PATH_TRANSLATED no CGI. O comportamento anterior do PHP era configurar PATH_TRANSLATED como SCRIPT_FILENAME, e nÃ£o configurar PATH_INFO. Para mais informaÃ§Ãµes sobre PATH_INFO, veja as especificaÃ§Ãµes do CGI. Configurar essa diretiva para 1 causarÃ¡ o PHP CGI para consertar os seus paths para se adaptar as especificaÃ§Ãµes. O valor zero faz com que o PHP se comporte como antes. O valor padrÃ£o Ã© zero. VocÃª deve modificar seus scripts para usar SCRIPT_FILENAME ao invÃ©s de PATH_TRANSLATED.

`cgi.force_redirect` boolean

  cgi.force_redirect Ã© necessÃ¡rio para prover seguranÃ§a no PHP rodando como CGI na maioria dos servidores web. Se deixar indefinido, PHP liga essa diretiva por padrÃ£o. VocÃª pode desligar mas o risco Ã© seu!.

  > Nota: UsuÃ¡rios Windows: VocÃªs podem desligar essa diretiva com seguranÃ§a para o IIS, de fato, vocÃªs devem. Para fazer o OmniHTTPD ou o Xitami funcionar, vocÃª deve desligar essa diretiva.

`cgi.redirect_status_env` string

  Se cgi.force_redirect estiver ligado, e vocÃª nÃ£o estiver usando os servidores Apache or Netscape (iPlanet), vocÃª pode precisar configurar um nome de variÃ¡vel de ambiente que o PHP procurarÃ¡ para saber se pode continuar a execuÃ§Ã£o.

  > Nota: Configurar essa variÃ¡vel pode causar problemas de seguranÃ§a, saiba o que estÃ¡ fazendo antes.

`fastcgi.impersonate` string

  FastCGI no IIS (em SOs baseados no WINNT) suporta a habilidade de fingir tokens de seguranÃ§a do cliente. Isso permite que o IIS defina o contexto de seguranÃ§a que a requisiÃ§Ã£o deve rodar. mod_fastcgi no Apache nÃ£o atualmente nÃ£o suporta essa caracterÃstica. (03/17/2002) Configure para 1 se estiver rodando no IIS. O valor padrÃ£o Ã© zero.

`cgi.rfc2616_headers` int

  Diz ao PHP qual tipo de cabeÃ§alho de usar quando enviar o cÃ³digo de resposta HTTP. Se o valor for 0, o PHP envia um Status: cabeÃ§alho suportado pelo Apache e outros servidores web. Quando essa opÃ§Ã£o tiver o valor 1, o PHP enviarÃ¡ um cabeÃ§alho compatÃvel com o RFC 2616. Deixe essa opÃ§Ã£o como 0 a nÃ£o ser que vocÃª saiba o que estÃ¡ fazendo.

## Envio de Arquivos

Tabela H-8. OpÃ§Ãµes de ConfiguraÃ§Ã£o de Envio de Arquivos

Name | Valor padrÃ£o | Changeable | Changelog
--- | --- | --- | ---
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL no PHP <= 4.2.3. DisponÃvel desde o PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3.

Breve descrição das diretivas de configuração.

`file_uploads` boolean

  Se deve ou nÃ£o permitir envio de arquivos via HTTP. Veja tambÃ©m as diretivas upload_max_filesize, upload_tmp_dir, e post_max_size.

  Quando um integer é utilizado, o valor é medido em bytes. Você também pode utilizar a notação resumida como descrito neste FAQ.

`upload_tmp_dir` string

  O diretÃ³rio temporÃ¡rio usado para guardar arquivos quando arquivos forem enviados. O usuÃ¡rio do PHP deve ter permissÃ£o de escrita nesse diretÃ³rio. Se nÃ£o for especificado, o PHP usuarÃ¡ o padrÃ£o do sistema.

`upload_max_filesize` integer

  O tamanho mÃ¡ximo de um arquivo enviado.

  Quando um integer é utilizado, o valor é medido em bytes. Você também pode utilizar a notação resumida como descrito neste FAQ.

## OpÃ§Ãµes Gerais de SQL

Tabela H-9. OpÃ§Ãµes de ConfiguraÃ§Ã£o Geral de SQL

Name | Valor padrÃ£o | AlterÃ¡vel | Changelog
--- | --- | --- | ---
sql.safe_mode | "0" | PHP_INI_SYSTEM |

Breve descrição das diretivas de configuração.

`sql.safe_mode` boolean

## Diretivas de ConfiguraÃ§Ã£o do Depurador (Debugger)

Cuidado
Apenas o PHP 3 implementa um depurador padrÃ£o, para mais informaÃ§Ã£o veja Apêndice F.

`debugger.host` string

  Nome de DNS ou endereÃ§o IP do servidor usado pelo depurador.

`debugger.port` string

  NÃºmero da porta usado pelo depurador.

`debugger.enabled` boolean

  Determina se o depurador estarÃ¡ ativado.

Anterior | Principal | Próxima
Diretivas do arquivo `php.ini` | Acima | List of Supported Timezones