Manual do PHP
Anterior | Capítulo 4. Configuração | Próxima

# Como alterar as configurações definidas

## Rodando o `PHP` como módulo do Apache

Quando usando o PHP como um módulo do Apache, você também pode mudar as definições de configuração usando diretivas na configuração do Apache (`httpd.conf`) e dos arquivos `.htaccess` (Você irá precisar de privilégios "AllowOverride Options" ou "AllowOverride All")

Com o PHP 4.0, existem várias diretivas do Apache que lhe permitem mudar a configuração PHP diretamente a partir dos arquivos de configuração do Apache. Para uma lista das diretivas que podem ser alteradas, veja aquelas marcadas com `PHP_INI_ALL`, `PHP_INI_PERDIR`, ou `PHP_INI_SYSTEM`, relacionadas na documentação da função ini_set().

> Nota: Com o PHP 3.0, existem diretivas Apache que correspondem a cada definição de configuração do `php3.ini`, exceto os nomes prefixados por "php3_".

php_value `nome` `valor`

  Define o valor da variável especificada. Pode ser utilizada somente com diretivas do tipo `PHP_INI_ALL` e `PHP_INI_PERDIR`. Para limpar um valor configurado anteriormente, utilize `none` como parâmetro.

  > Nota: Não utilize `php_value` para configurar valores booleandos. Em vez disso, use `php_flag` (veja abaixo).

php_flag `nome` `on|off`

  Isto é usado para definir uma opção de configuração Booleana. Somente pode ser utilizada em diretivas do tipo `PHP_INI_ALL` e `PHP_INI_PERDIR`.

php_admin_value `nome` `valor`

  Define o valor da variável especificada. Isto NÃO pode ser utilizado em arquivos `.htaccess`. Qualquer tipo de diretiva modificada com php_admin_value não pode ser sobrescrita por arquivos `.htaccess` ou diretivas virtualhost. Para limpar um valor configurado antetiormente, utilize `none` como parâmetro.

php_admin_flag `nome` `on|off`

  Utilizado para definir uma opção de configuração Booleana. Isto NÃO pode ser utilizado em arquivos `.htaccess`. Qualquer diretiva configurada com php_admin_flag não pode ser sobrescrita por arquivos `.htaccess` ou diretivas virtualhost.

Exemplo 4-2. Exemplo de configuração do Apache

    <IfModule mod_php4.c>
      php_value include_path ".:/usr/local/lib/php"
      php_admin_flag safe_mode on
    </IfModule>
    <IfModule mod_php3.c>
      php3_include_path ".:/usr/local/lib/php"
      php3_safe_mode on
    </IfModule>

Cuidado
Constantes PHP não existem fora do PHP. Por exemplo, no `httpd.conf` não pode utilizar constantes PHP como `E_ALL` ou `E_NOTICE` para configurar a diretiva error_reporting, pois elas não tem nenhum sentido e serão avaliados como 0. Nesses casos, utilize seus valores de bit. Essas constantes só podem ser utilizadas dentro do `php.ini`

## Modificando a configuração do `PHP` via registro

Quando rodando o PHP no Windows, os valores de configuração podem ser modificados diretório a diretório utilizando o registro do Windows. Os valores de configuração são armazenados na chave do registro `HKLM\SOFTWARE\PHP\Per Directory Values`, onde as sub chaves correspondem aos caminhos. Por exemplo, valores de configuração para o diretório `c:\inetpub\wwwroot` devem ser armazenados na chave `HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot`. As configurações para o diretório são ativadas para qualquer script rodando neste diretório ou qualquer subdiretório dele. Os valores sob a chave devem ter o nome das Diretivas de configuração do PHP e um valor string. As constantes do PHP nos campos não são interpretados.

## Outras interfaces para o `PHP`

Independentemente da interface do `PHP`, você pode mudar certos valores em tempo de execução em seus scripts através ini_set(). A tabela seguinte explica em que nível as diretivas podem ser modificadas.

Tabela 4-1. Definições das constantes PHP_INI_*

Constante | Valor | Significado
--- | --- | ---
PHP_INI_USER | 1 | Diretiva pode ser modificada em seus scripts
PHP_INI_PERDIR | 2 | Diretiva pode ser modificada no `php.ini`, `.htaccess` ou `httpd.conf`
PHP_INI_SYSTEM | 4 | Diretiva pode ser modificada no `php.ini` ou `.htaccess`
PHP_INI_ALL | 7 | Diretiva pode ser modificada em qualquer lugar

Você pode visualizar as configurações das diretivas na saída de phpinfo(). Você também pode acessar os valores individuais das configurações utilizando ini_get() ou get_cfg_var().

Anterior | Principal | Próxima
Configuração | Acima | Diretivas de configuração diversas