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_".
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).
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.
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.
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.
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 |
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.
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().