Capítulo 9. Configuração

Índice
O arquivo de configuração
Como modificar valores de configuração

O arquivo de configuração

O arquivo de configuração (chamado php3.ini no PHP 3, e simplesmente php.ini a partir do PHP 4) é lido quando o PHP é iniciado. Para as versões de módulo de servidor do PHP, isso acontece apenas uma vez, quando o servidor web é iniciado. Para as versões CGI e CLI, isso acontece cada vez que eles são invocados.

O localização padrão do arquivo php.ini é um opção dada no momento da compilação (veja a nota no FAQ), mas pode ser alterado para as versões CGI e CLI, com a opção de linha de comando -c, veja o capítulo sobre usar o PHP a partir da linha de comando. Você também pode usar a variável de ambiente PHPRC para determinar um caminho adicional aonde procurar o arquivo php.ini.

Se o arquivo php-SAPI.ini existir (onde SAPI é a SAPI usada, portanto o nome de arquivo é, por exemplo php-cli.ini ou php-apache.ini), este é usado ao invés do arquivo php.ini.

Nota: O servidor web Apache muda o diretório para a raiz ao ser iniciado, fazendo com que o PHP tente ler o arquivo php.ini da raiz do sistema de arquivos se esta existir.

As diretivas do arquivo php.ini tratadas pelas extensões são documentadas nas páginas das respectivas extensões. A lista de diretivas principais está disponível no apêndice. No entando, provavelmente nem todas as diretivas do PHP são documentados no manual. Para uma lista completa das diretivas disponíveis na sua versão do PHP, por favor leia seu arquivo php.ini que é bem comentado. Como alternativa, você pode achar o arquivo php.ini mais atual do CVS útil também.

Exemplo 9-1. Exemplo php.ini

; qualquer texto em uma linha após ponto-e-vírgula sem aspas é ignorado
[php] ; marcadores de seção (texto dentro de colchetes) também é ignorado
; Valores booleanos podem ser um dos seguintes:
;    true, on, yes
; ou false, off, no, none
register_globals = off
track_errors = yes

; Você pode encapsular strings usando aspas duplas
include_path = ".:/usr/local/lib/php"

; Barra invertida é tratado como qualquer outro caracter, não como caracter de escape
include_path = ".;c:\php\lib"