Manual do PHP
Anterior |  | Próxima

# Capítulo 9. Configuração em tempo de execuçã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 inicia. Para as versões de módulo de servidor, isso acontece apenas quando o servidor web for inicializado. Para as versões CGI e CLI, isso acontece à cada invocação.

`php.ini` é procurado nesses lugares (na ordem):

- Local específico do módulo SAPI (diretiva `PHPIniDir` no Apache 2, `-c` opção de linha de comando quando CGI e CLI, parâmetro `php_ini` no NSAPI, variável de ambiente `PHP_INI_PATH` no THTTPD)

- A variável de ambiênte `PHPRC`. Antes do PHP 5.2.0 isto era conferido depois da chave de registro mencionada abaixo.

- A partir do PHP 5.2.0, os seguintes locais do registro são procurados em ordem: `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath`, `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath` and `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath`, where x, y e z significam as versôes do PHP maior, menor e release.

- `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath` (Local no registro do Windows)

- Diretório de trabalho atual (exceto CLI)

- O diretório do servidor web (para módulo SAPI), ou diretório do PHP (caso contrário, no Windows)

- Diretório do Windows (`C:\windows` ou `C:\winnt`) (para o Windows), ou ou a opção de tempo de compilação `--with-config-file-path`

Se `php-SAPI.ini` existe (onde SAPI é o SAPI usado, então o nome de arquivo é, por exemplo, `php-cli.ini` ou `php-apache.ini`), é usado ao invés do arquivo `php.ini`. nome SAPI pode ser determinado pela função php_sapi_name().

> Nota: O servidor web Apache muda o diretório para raiz durante a inicialização, causando com que o PHP tente ler o arquivo `php.ini` da raiz do arquivo de sistema, se ele existir.

As diretivas do arquivo `php.ini` tratadas por extensões são documentadas respectivamente nas páginas das próprias extensões. A lista de diretivas principais está disponível no apêdice. No entanto, provavelmente nem todas as diretivas do PHP estão documentadas no manual. Para uma lista completa das diretivas disponíveis na sua versão do PHP, por favor leia seu arquivo `php.ini`. Também há alternativa de baixar a última versão do arquivo `php.ini` dos repositórios do CVS, que pode ser de ajuda também.

Exemplo 9-1. `php.ini` example

    ; any text on a line after an unquoted semicolon (;) is ignored
                            [php] ; section markers (text within square brackets) are also ignored
                            ; Boolean values can be set to either:
                            ;    true, on, yes
                            ; or false, off, no, none
                            register_globals = off
                            track_errors = yes

                            ; you can enclose strings in double-quotes
                            include_path = ".:/usr/local/lib/php"

                            ; backslashes are treated the same as any other character
                            include_path = ".;c:\php\lib"

A partir do PHP 5.1.0, é possível acessar as variáveis .ini dentro dos arquivos .ini. Exemplo:`open_basedir = ${open_basedir} ":/new/dir"`.

Anterior | Principal | Próxima
Relatos de Bug | Acima | Como mudar as configurações