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.
Nome | Valor padrão | Alterável | Changelog |
---|---|---|---|
async_send | "0" | PHP_INI_ALL |
Name | Valor padrão | Alterável | Changelog |
---|---|---|---|
short_open_tag | "1" | PHP_INI_ALL | PHP_INI_ALL no PHP <= 4.0.0. PHP_INI_PERDIR no PHP < 5.3.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. Removido no PHP 5.3.0 |
Breve descrição das diretivas de configuração.
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 queshort_open_tag
esteja ativada.
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.
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.
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.
Name | Valor padrão | Alterável | Changelog |
---|---|---|---|
memory_limit | "128M" | PHP_INI_ALL | "8M" antes do PHP 5.2.0, "16M" no PHP 5.2.0 |
Breve descrição das diretivas de configuração.
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. Perceba que você deve configurá-la para -1 se você não quiser impor um limite de memória.
Antes do PHP 5.1.2, para poder usar essa diretiva era preciso habilitá-la durante a compilação, usando -enable-memory-limit como parâmetro para o script de configuração. Isso também era necessário para que as funções memory_get_usage() e memory_get_peak_usage() fossem definidas.
Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.Veja também: max_execution_time.
Nome | Valor padrão | Alterável | Changelog |
---|---|---|---|
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponível desde o PHP 5.1.0. |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponível desde o PHP 5.1.0. |
Breve descrição das diretivas de configuração.
Determina o tamanho do cache de caminho real que será usado pelo PHP. Esse valor deve ser aumentado nos sistema onde o PHP abre muitos arquivos, para refletir a quantidade de operações de arquivos realizadas.
Duração de tempo (em segundos) para cada informação do cache de caminho para um arquivo ou diretório qualquer. Para sistemas com arquivos que raramente mudam, considere aumentar o valor.
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. |
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Disponível desde o PHP 5.3.0 |
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.
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.
O separador usado para separar argumentos em URLs geradas pelo PHP.
Lista de separador(es) usados pelo PHP para converter URLs em variáveis.
Nota: Cada caracter nessa diretiva é considerado um separador!
Configura a ordem de avaliação das variáveis de Ambiente (E), recebidas por GET (G), POST (P), Cookie (C), e as de Servidor (S). Por exemplo, se variables_order tiver valor "SP", então o PHP criará as superglobals $_SERVER e $_POST, mas não criará $_ENV, $_GET, e $_COOKIE. Atribuir o valor "" significa que nenhuma superglobals será criada.
Se a diretiva depreciada register_globals estiver ligada (removida a partir do PHP 6), então variables_order também define a ordem com que as variáveis ENV, GET, POST, COOKIE e SERVER são populadas no escopo global. Então, por exemplo, se variables_order for "EGPCS", e register_globals estiver habilitada, e tanto $_GET['action'] quanto $_POST['action'] forem criadas, então $action conterá o valor de $_POST['action'], uma vez que P está depois de G no nosso exemplo de valor para a diretiva.
Em ambos CGI e FastCGI SAPIs, $_SERVER é também populada por valores do ambiente; S é sempre equivalente a ES desconsiderando a posição de E nesta diretiva.
Nota: O conteúdo e a ordem do array $_REQUEST também é afetado por essa diretiva..
Esta diretiva descreve a ordem na qual o PHP registra variáveis GET, POST e Cookie no array _REQUEST. Registro é feito da esquerda para direita, o mais novo valor sobreescreve o anterior.
Se esta diretiva não é definida, variables_order é usada para o conteúdo da $_REQUEST.
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. A partir do PHP 5.1.3, não é necessário disabilitar register_argc_argv.
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.
Este recurso tornou-se OBSOLETO e REMOVIDO do PHP 6.0.0. Confiar neste recurso é extremamente não recomendado.
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.
Especifica o nome do arquivo que é automaticamente avaliado antes do arquivo principal. O arquivo é incluído como em uma chamada à função require(), então include_path é usada.
O valor especial none desabilita a inclusão automática antes do script rodar.
Especifica o nome do arquivo que é automaticamente avaliado depois do arquivo principal. O arquivo é incluído como em uma chamada à função require(), 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á.
A partir da versão 4.0.0, 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.
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".
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.
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.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponível desde o PHP 5.2.0. |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Disponível desde o PHP 4.3.0. PHP_INI_ALL antes do PHP 5.2.1. |
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Disponível desde o PHP 4.2.0. PHP_INI_ALL antes do PHP 5.2.1. |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Disponível desde o PHP 4.2.0. PHP_INI_ALL antes do PHP 5.2.1. |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Disponível desde o PHP 4.3.0. PHP_INI_ALL antes do PHP 5.2.1. |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0. |
Breve descrição das diretivas de configuração.
Especifica a lista de diretórios onde as funções require(), include(), fopen(), file(), readfile() and file_get_contents() procurem por arquivos. 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 #1 Unix include_path
include_path=".:/php/includes"
Exemplo #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.
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.
O nome base do diretório usado na home do usuário para arquivos PHP, por examplo, public_html .
Em qual diretório o PHP deve procurar por extensões carregadas dinamicamente. Veja também: enable_dl, e dl().
Quais extensões carregáveis dinamicamente devem ser carregadas quando o PHP iniciar.
Controla se o PHP em modo CGI verifica pela linha começando com #! (shebang) no top do script sendo executado. Essa linha pode ser necessária se o script suporta ser executado tanto stand-alone como via CGI. PHP em modo CGI pula essa linha e ignora o seu conteúdo se essa se essa diretiva estiver ligada.
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 é 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.
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 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.
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.
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.
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. A resumida notação, como descrito neste FAQ, pode também ser usada.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.
O tamanho máximo de um arquivo enviado.
Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.
Name | Valor padrão | Alterável | Changelog |
---|---|---|---|
sql.safe_mode | "0" | PHP_INI_SYSTEM |
Breve descrição das diretivas de configuração.
Se ativada, funções de conexão com banco de dados que especificam valores padrão usarão esses valores ao invés dos argumentos fornecidos. Para os valores padrão, veja a documentação das funções de conexão do seu banco de dados.