Esta não é uma lista completa das diretivas do PHP. Muitas diretivas são listadas
em seus lugares apropriados como, por exemplo, informações sobre diretivas
de sessões estão no
capítulo sobre sessões.
Informa quando a tag reduzida (<? ?>)
do PHP pode ser permitida. Se você quiser usar o PHP em
combinação com XML, você pode desligar essa opção para poder
utilizar <?xml ?> inline. De outra forma, você
pode imprimir com o PHP, por exemplo: <?php echo '<?xml
version="1.0"'; ?>. Se desligado, você precisará utilizar a
forma longa da tag de abertura do PHP (<?php ?>).
Nota:
Esta diretiva também afeta o atalho <?=,
que é idêntico a <? echo. A utilização desse
atalho requer short_open_tag
ligado.
Ativa a utilização das tags estilo ASP <% %> em adição as
tags <?php ?>. Isto inclui o atalho de
impressão de valores <%= $var %>. Para
mais informações, veja Alternando do HTML.
Nota:
O suporte a tags estilo APS foi acrescentado no 3.0.4.
Especifica a habilidade em forçar que argumentos possam ser passados por referência
na chamada de uma função. Este método é obsoleto e logo não será mais
suportado nas futuras versões do PHP/Zend. O método recomendado para
especificar que argumentos devem ser passados por referência é pela declaração da
função. Você é encorajado em tentar desligar essa opção e verificar
se seus scripts trabalham adequadamente de forma a garantir que elas irão funcionar
nas futuras versões da linguagem (você receberá um alerta cada vez que
utilizar esse recurso, e o argumento será passado por valor em vez de por
referência).
Decide se o PHP poderá expor o fato de que ele está instalado no servidor
(acrescentando sua assinatura no header do servidor web). Isto não causa problemas
de segurança de qualquer forma, mas torna possível determinar se você usa o PHP
em seu servidor ou não.
Isto configura a quantidade máxima de memória, em bytes, que um script
poderá alocar. Isto ajuda a prevenir que scripts mal
escritos acabem com toda a memória disponível do servidor. Para poder
utilizar esta diretiva, você precisa ativá-la na compilação. Assim,
sua linha de configuração deve incluir:
--enable-memory-limit. Note que você pode configura-la
para -1 se não quiser impor nenhum limite para a utilização da memória.
A partir do PHP 4.3.2 e quando memory_limit estiver ativo, a função PHP
memory_get_usage() fica disponível.
Se ativado, quaisquer variáveis Environment, GET, POST, Cookie e Server
encontradas poderão ser acessadas nos arrays globais associativos
$_ENV,
$_GET,
$_POST,
$_COOKIE e
$_SERVER.
Note que a partir do PHP 4.0.3, track_vars está sempre ativado.
Configura a ordem de interpretação das variáveis EGPCS (Environment, GET, POST, Cookie e
Server). O default dessa
diretiva é "EGPCS". Configurando para "GP", por exemplo,
fará com que o PHP ignore completamente variáveis de ambiente (E),
cookies (C) e do servidor (S), sendo que qualquer variável GET será sobrescrita por
qualquer variável do método POST com o mesmo nome.
Ativa ou não o registro de variáveis EGPCS (Environment, GET,
POST, Cookie e Server) como variáveis globais. Por exemplo:
se register_globals = on, a URL
http://www.example.com/test.php?id=3 irá criar a variável
$id. Ou, $DOCUMENT_ROOT de
$_SERVER['DOCUMENT_ROOT']. Você pode desligar essa
diretiva se você não deseja sujar o escopo global de seus scripts com
dados do usuário. Desde o PHP 4.2.0,
o padrão dessa diretiva é off. É preferível utilizar as
variáveis predefinidas
do PHP, como as
superglobals:
$_ENV, $_GET,
$_POST, $_COOKIE e
$_SERVER. Leia cuidadosamente o capitulo de segurança em
Utilizando register_globals
para mais informações.
Veja que register_globals
não pode ser alterado em tempo de execução (ini_set()). Entretanto, você pode
utilizar o .htaccess se seu host permitir como descrito
anteriormente. Um exemplo de entrada do .htaccess:
php_flag register_globals on.
Nota: register_globals é afetada
pela diretiva variables_order
.
Configura quando o PHP vai ou não registrar os grandes e obsoletos arrays
$HTTP_*_VARSpré
definidos. Se ativo (default), grandes variáveis arrays PHP
como a $HTTP_GET_VARS serão defininas.
Se você não estiver usando-as, é recomendado desligar essa opção,
por questão de performance. Em vez desses arrays, utilize os arrays superglobais
como $_GET.
Configura o tamanho máximo dos dados postados. Esta configuração também afeta
o upload de arquivos. Para receber arquivos grandes, esse valor precisa ser maior
que upload_max_filesize.
Se o limite de memória estiver ativado em seu script de configuração, memory_limit também afeta
o upload de arquivos. Falando diretamente,
memory_limit precisa ser
maior que post_max_size.
Informa a ordem de interpretação das variáveis GET/POST/COOKIE. O
padrão dessa diretiva é "GPC". Configurando para
"GP", por exemplo, fará com que o PHP ignore completamente cookies
e que sobrescreva qualquer dado postado via GET por variáveis postados
via POST que tenham o mesmo nome.
Nota:
Esta opção não está disponível no PHP 4.
Utilize variables_order
no seu lugar.
Especifica o nome do arquivo que será automaticamente interpretado
antes do arquivo principal. O arquivo é incluído como se ele fosse
chamado com a função include(), então
include_path é utilizado.
Especifica se o nome do arquivo que será automaticamente interpretado
depois do arquivo principal. O arquivo é incluído como se ele fosse
chamada a função include(), então
include_path é utilizado.
O valor especial none
desabilita a auto inclusão.
Nota:
Se o script é terminado com exit(),
a auto inclusão não irá ocorrer.
A partir da versão 4.0b4, o PHP sempre emite a codificação de caracter por padrão no
header Content-type:. Para desabilitar o envio do código de página, simplesmente
deixe a diretiva em branco.
Permite a manipulação de headers HTTP com scripts PHP (com
PROPFIND, PROPPATCH, MOVE, COPY, etc).
Se você quiser obter os dados postados dessas requisições, ative
always_populate_raw_post_data para isso.
Especifica a lista de diretórios onde as funções
require(), include()
and fopen_with_path() procurarão por
arquivos. O formato é o mesmo que o da variável ambiente
PATH: uma lista de diretórios, separador por
vírgula no UNIX ou ponto e vírgula no Windows.
Exemplo 4-3. include_path UNIX
include_path=".:/php/includes"
Exemplo 4-4. include_path Windows
include_path=".;c:\php\includes"
Colocar um . no include_path permite
includes relativos a partir do diretório atual.
O "diretório root" do PHP no servidor. Utilizado somente se for
preenchido. Se o PHP estiver configurado com safe mode, nenhum arquivo acima
desse diretório será acessível.
Se o PHP não estiver compilado com FORCE_REDIRECT, você DEVE configurar doc_root
se estiver rodando o PHP como CGI sob qualquer servidor web (que não o IIS)
Outra alternativa é configurar a diretiva
cgi.force_redirect, abaixo.
Provém o correto PATH_INFO/PATH_TRANSLATED
suporte para CGI. O comportamento anterior do PHP era informar
PATH_TRANSLATED em SCRIPT_FILENAME, e não truncá-lo com PATH_INFO.
Para maiores informações sobre PATH_INFO, veja as especificações CGI. Configurando
isto para 1 fará com PHP CGI corrija os caminhos conforme a
especificação. Configurando para 0 fará o PHP se comportar como antes. O default
é zero. Você deve corrigir seus scripts para usar SCRIPT_FILENAME em vez
de PATH_TRANSLATED.
cgi.force_redirect é necessário para prover segurança quando rodando o PHP como
módulo sob a maioria dos servidores web. Se deixado indefinido, o PHP assume como
ativo. Você pode desligá-lo SOB SEU RISCO.
Nota:
Usuários Windows: Você PODE desligar isso no ISS, e de fato, você DEVE fazê-lo.
Para que o OmniHTTPD ou Xitami funcionem, você PRECISA desligá-lo.
Se cgi.force_redirect estiver ativado, e se não estiver rodando o PHP sob os
servidores web Apache ou Netscape (iPlanet), você PRECISARÁ configurar uma
variável de ambiente que o PHP procurará para saber se ele pode
continuar a execução.
Nota:
Configurar essa variável PODERÁ causar problemas de segurança,
POR ISSO SAIBA QUE ESTEJA FAZENDO PRIMEIRO.
FastCGI sob o IIS (em sistemas baseados em WinNT) suporta a habilidade de despersonalizar
tokens de segurança da chamado do cliente. Isto permite ao ISS definir o
contexto de segurança da requisição que está rodando. mod_fastcgi sob o Apache
ainda não suporta esse recurso (17/03/2002).
Configure 1 se estiver rodando sob o ISS. O padrão é zero.
Diz ao PHP que tipo de header utilizar quando enviando a resposta
HTTP. Se configurado para 0, o PHP envia um header Status:, suportado
pelo Apache e outros servidores web. Quando configurado para 1, o PHP
irá enviar headers compatíveis com o RFC 2616.
Deixe configurado para 0 a não ser que saiba o que está fazendo.
Upload de arquivos
Tabela 4-7. Opções de configuração para upload de arquivos
O diretório temporário utilizado para armazenar arquivos quando realizando
o upload de arquivos. Ele precisa ter permissão de escrita para qualquer usuário que
for rodar o PHP. Se não especificado, o PHP utilizará o default do sistema.