Capítulo 3. Configuração

Índice
O arquivo de configuração

O arquivo de configuração

O arquivo de configuração (chamado php3.ini no PHP 3.0, e simplesmente php.ini no PHP 4.0) é lido quando o PHP inicia. Para as versões de módulos de servidor do PHP, isso só acontece uma vez quando o servidor é iniciado. Para a versão CGI acontece em cada chamada.

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 dos arquivos Apache e dos arquivos .htaccess.

Com o PHP 3.0, existem diretivas Apache que correspondem a cada definição de configuração no nome php3.ini, exceto o nome predefinido por "php3_".

Com o PHP 4.0, existem apenas poucas diretivas Apache que lhe permitem mudar as definições de configuração PHP.

php_value nome valor

Isso define o valor da variável especificada.

php_flag nome on|off

Isto é usado para definir uma opção de configuração Booleana.

php_admin_value nome valor

Isto define o valor da variável especificada. Definições de configuração "Admin" só podem ser definidas a partir dos arquivos principais de configuração do Apache, e não dos arquivos .htaccess.

php_admin_flag nome on|off

Isto é usado para definir uma opção de configuração Booleana.

Você pode visualizar as definições dos valores de configuração na saída de phpinfo(). Você também pode acessar os valores de definições de configuração originais usando get_cfg_var().

Diretivas Gerais de Configuração

allow_url_fopen boolean

Esta opção habilita o URL-aware fopen wrappers que possibilitam o acesso a objetos URL como arquivos. Wrappers padrão são fornecidos para o acesso de arquivos remotos usando os protocolos ftp ou http, algumas extensões como zlib podem registrar wrappers adicionais.

Nota: Esta opção foi introduzida imediatamente após o lançamento da versão 4.0.3. Para versões superiores incluindo a 4.0.3 você só pode desabilitar essa função na compilação usando o argumento --disable-url-fopen-wrapper na configuração (configure).

asp_tags booleano

Habilita o uso de tags no estilo ASP <% %> em adição às tags <?php ?> usuais. Isso inclui a impressão resumida de valor de variável <%= $valor %>. Para maiores informações veja Saindo do HTML.

Nota: O suporte para tags no estilo ASP foi adicionada na versão 3.0.4.

auto_append_file string

Especifica o nome do arquivo que é automaticamente interpretado após o arquivo principal. O arquivo é incluído como se tivesse sido chamado com a função include() , logo include_path é usado.

O valor especial none desabilita o auto-appending.

Nota: Se o script é finalizado com exit(), auto-append não será lido.

auto_prepend_file string

Especifica o nome do arquivo que é automaticamente interpretado antes do arquivo principal. O arquivo é incluído como se tivesse sido chamado com a função include() , logo include_path é usado.

O valor especial none desabilita o auto-prepending.

cgi_ext string

display_errors booleano

Isso determina se os erros deve ser impressos na tela como parte da saída HTML ou não.

doc_root string

O "root directory" do PHP no servidor. Só é usado se não estiver vazio. Se o PHP é configurado com safe mode, nenhum arquivo fora desse diretório é servido.

engine booleano

Essa diretiva só é realmente útil com a versão de módulo Apache do PHP. É usado por sites que queiram habilitar ou desabiliar a interpretação PHP num servidor baseado por-diretório ou por-virtual. Colocando engine off nos devidos lugares no arquivo httpd.conf , o PHP pode ser habilitado ou desabilitado.

error_log string

Nome do arquivo onde erros de script devem ser guardados. Se o valor especial syslog for usado, os erros serão enviados para o logger do sistema. No UNIX, isto significa syslog(3) e no Windows NT isto significa event log. O system logger não é suportado no Windows 95.

error_reporting inteiro

Define o nível de publicação de erros. O parâmetro é um inteiro representado um campo de bits. Adicione os valores que você queira do nível de publicação de erros.

Tabela 3-1. Níveis de Publicação de Erros

valor do bithabilita publicação
1erros normais
2avisos normais
4erros de interpretação
8avisos não críticos relacionados ao estilo
O valor padrão para esta diretiva é 7 (erros normais, avisos normais e erros de interpretação são mostrados).

open_basedir string

Limita os arquios que podem ser abertos pelo PHP à arvore de diretórios especificada.

Quando um script tenta abrir um arquivo com, por exemplo, fopen or gzopen, a localização desse arquivo é checada. Quando o arquivo está fora da árvore de diretórios especificada, o PHP irá se recusar a abrí-lo. Todos os links simbólicos são resolvidos, logo não é possível evitar essa restrição com um symlink.

O valor especial . indica que o diretório onde o script está armazenado será usado como o diretório base.

No Windows, separe os diretórios com ponto-e-vírgula. Em todos os outros sistemas, separe os diretórios com dois pontos. Como um módulo Apache ,os paths de open_basedir de dretórios parentes agora são automaticamente herdados.

Nota: O supporte para múltiplos diretórios foi adicionado na versão 3.0.7.

O padrão é permitir que todos os arquivos sejam abertos.

gpc_order string

Define a ordem de interpretação da variável GET/POST/COOKIE . A definição padrão para essa diretiva é "GPC". Definindo-a para "GP", por exemplo, fará com que o PHP ignore completamente cookies e irá sobescrever quaisquer variáveis com o método GET por variáveis com o método POST com o mesmo nome.

ignore_user_abort string

Habilitado (On) por padrão. Se desabilitado (Off) os scripts irão ser finalizados tão cedo quanto ele tentar imprimir algo após o cliente ter abortado a conexão. ignore_user_abort().

include_path string

Especifica uma lista de diretórios onde as funções require(), include() e fopen_with_path() procuram por arquivos. O formato é como a variável de ambiente PATH do sistema: uma lista de diretórios separados por dois pontos no UNIX ou ponto-e-vírgula no Windows.

Exemplo 3-1. include_path no UNIX


include_path=.:/home/httpd/php-lib

Exemplo 3-2. include_path no Windows


include_path=".;c:\www\phplib"
O valor padrão para essa diretiva é . (apenas o diretório atual).

isapi_ext string

log_errors booleano

Diz se as mensagens de erro devem ser salvas no arquivo de log do servidor. Logo, esta opção é específica do servidor.

magic_quotes_gpc booleano

Define o estado de magic_quotes para as operações GPC (Get/Post/Cookie). Quando os magic_quotes estão habilitados (on), todas ' (aspas simples), " (aspas duplas), \ (barra invetida) e NUL's são automaticamente escapadas com a barra invertida. Se magic_quotes_sybase is também está habilitado (on), uma aspa simples é escapada como aspa simples ao invés da barra invertida.

magic_quotes_runtime booleano

Se magic_quotes_runtime é habilitado, a maioria das funções que retornam dados de qualquer tipo de fonte externa incluindo banco de dados e arquivos de texto terão aspas escapadas com barra invertida. Se magic_quotes_sybase também estiver habilitado (on), aspa simpes é escapada como aspa simples ao invés de barra invertida.

magic_quotes_sybase booleano

Se magic_quotes_sybase também estiver habilitado (on), aspa simples é escapada como aspa simples ao invés de barra invertida se magic_quotes_gpc ou magic_quotes_runtime estiverem habilitados.

max_execution_time inteiro

Isto define a quantide máxima de tempo em segundos que um script é permitido ter antes de ser finalizado pelo interpretador. Isto previne scripts mal escritos de travar o servidor. O valor padrão é 30.

memory_limit inteiro

Isto define a quantidade máxima de memória em bytes que um script é capaz de alocar. Isto ajuda a prevenir scripts mal escritos de consumir toda a memória disponível no servidor.

nsapi_ext string

register_globals booleano

Diz quando registrar as variáveis EGPCS (Environment, GET, POST, Cookie, Server) como globais ou não. Você pode desabilitar isso se você não quer misturar o escopo global do seu script com dados de usuário. Isto faz mais senso quando usado juntamente com track_vars - neste caso você pode acessar todas as variáveis EGPCS através das matrizes $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, e $HTTP_SERVER_VARS no escopo global.

short_open_tag booleano

Diz quando a forma curta (<? ?> do tag de abertura do PHP deve ser permitida. Se você quer usar PHP cobinado com XML, você deve desabilitar essa opção. Se desabilitada, você deve usar a forma longa da tag de abertura (<?php ?>).

sql.safe_mode booleano

track_errors booleano

Se habilitado, a última mensagem de erro sempre estará presente na variável global $php_errormsg.

track_vars booleano

Se habilitado, então as variáveis Environment, GET, POST, Cookie, e Server poderão ser encontradas nas matrizes associativas globais $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, e $HTTP_SERVER_VARS.

Note que no PHP 4.0.3, track_vars sempre está habilitada.

upload_tmp_dir string

O diretório temporário usado para armazenar arquivos durante o upload de arquivos. Deve ser gravável por qualquer usuário em que o PHP esteja sendo rodado.

user_dir string

O nome base do diretório usado no diretório home de um usuário para arquivos PHP, por exemplo public_html.

warn_plus_overloading booleano

Se habilitado, esta opção faz com que o PHP imprima um aviso quando o operador mais (+) é usado em strings. Isto é para tornar mais fácil encontrar scripts que precisam ser reescritos para substituir pelo concatenador de strings (.).

Diretivas de Configuração de Modo Seguro (Safe Mode)

safe_mode booleano

Quando habilitar o modo seguro do PHP. Leia o Capítulo de Segurança para maiores informações

safe_mode_exec_dir string

Se o PHP está sendo usado em modo seguro, system() e as outras funções de execução do sistema recusam-se a iniciar programas que não estejam neste diretório.

Diretivas ed Configuração do Debugger

debugger.host string

Nome do DNS ou endereço IP da máquina usada pelo debuger.

debugger.port string

Número da porta usada pelo debugger.

debugger.enabled booleano

Se o debugger está habilitado ou não.

Diretivas de Carregamento de Extensão

enable_dl booleano

Esta diretiva só é realmente útil na versão do módulo Apache do PHP. Você pode habilitar ou desabilitar o carregamento dinâmico de extensões PHP com dl() em servidor por virtual ou por diretório.

A principal razão em desabilitar o carregamento dinâmico é a segurança. Com carregamento dinâmico, é possível ignorar todas as restrições safe_mode e open_basedir.

O padrão é permitir o carregamento dinâmico, exceto ao ser usado o modo seguro. No modo seguro, é sempre impossível usar dl().

extension_dir string

Nesse diretório o PHP deve procurar por extensões dinamicamente carregáveis.

extension string

Que extensões dinamicamente carregáveis devem ser carregadas quando o PHP inicia.

Diretivas de Configuração MySQL

mysql.allow_persistent booleano

Permite ou não conecções MySQL persistentes.

mysql.default_host string

A máquina de servidor padrão ao conectar a um servidor de banco de dados se não for especificado.

mysql.default_user string

O usuário padrão a ser usado ao se conectar a um servidor de banco de dados se não for especificado.

mysql.default_password string

A senha padrão a ser usada ao se conectar a um servidor de banco de dados se não for especificada.

mysql.max_persistent inteiro

O número máximo de conecções persistentes MySQL por processo.

mysql.max_links inteiro

O número máximo de conexões MySQL por processo, incluindo conexões persistentes.

Diretivas de Configuração mSQL

msql.allow_persistent booleano

Permite ou não conexões persistentes mSQL.

msql.max_persistent inteiro

O número máximo de conexões persistentes mSQL por processo.

msql.max_links inteiro

O número máximo de conexões mSQL por processo, inclunido conexões persistentes.

Diretivas de Configuração Postgres

pgsql.allow_persistent booleano

Permite ou não conexões persistentes Postgres.

pgsql.max_persistent inteiro

O número máximo de conexões persistentes Postgres por processo.

pgsql.max_links inteiro

O número máximo de conexões Postgres por processo, incluindo conexões persistentes.

Diretivas de Configuração SESAM

sesam_oml string

Nome da biblioteca BS2000 PLAM contendo os módulos de driver SESAM carregáveis. Exigido para usar funções SESAM. A biblioteca BS2000 PLAM deve estar definida ACCESS=READ,SHARE=YES porque ela deve ser lida pelo id de usuário do servidor Apache.

sesam_configfile string

Nome do arquivo de configuração da aplicação SESAM. Exigido ao usar funções SESAM. O arquivo BS2000 deve ser lido pelo id de usuário do servidor apache.

O arquivo de configuração da aplicação irá normalmente conter um arquivo de configuração como (veja o manual de referência SESAM):


CNF=B
NAM=K
NOTYPE

sesam_messagecatalog string

Nome do arquivo de catálogo de mensagem SESAM. Na maioria dos casos, esta diretiva é desnecessária. Apenas se o arquivo de mensagem SESAM não estiver instalado na tabela de arquivo de mensagen do sistema BS2000, pode então ser definida por esta diretiva.

O catálgo de mensagem deve ser definido ACCESS=READ,SHARE=YES porque ele deve ser lido pelo id de usuário do servidor apache.

Diretivas de Configuração Sybase

sybase.allow_persistent booleano

Permite ou não conexões persistentes Sybase.

sybase.max_persistent inteiro

O número máximo de conexões persistentes Sybase por processo.

sybase.max_links inteiro

O número máximo de conexões Sybase por processo, incluindo conexões persistentes.

Diretivas de Configuração Sybase-CT

sybct.allow_persistent booleano

Permite ou não conexões persistentes Sybase-CT. O padrão é permitir.

sybct.max_persistent inteiro

O número máximo de conexões persistentes Sybase-CT por processo. O padrão é -1 que significa ilimitado.

sybct.max_links inteiro

O número máximo de conexões Sybase-CT por processo, incluindo conexões persistentes. O padrão é -1 que significa ilimitado.

sybct.min_server_severity inteiro

Mensagens do servidor muito maiores ou iguais a sybct.min_server_severity serão publicadas como avisos. Este valor também pode ser definido a partir de um script chamando sybase_min_server_severity(). O padrão é 10, que publica erros de informação muito maiores ou maiores.

sybct.min_client_severity inteiro

Mensagens de biblioteca de clientes muito maiores ou iguais a sybct.min_client_severity serã publicadas como avisos. Este valor também pode ser definido a partir de um script chamando sybase_min_client_severity(). O padrão é 10 que efetivamente desabilita publicações.

sybct.login_timeout inteiro

O máximo de tempo a esperar em segundos por uma tentativa de conexão obter sucesso antes de retornar uma falha. Note que se max_execution_time foi excedido quando uma tentativa de conexão passa do tempo, seu script será terminado antes que possa executar uma ação na falha. O padrão é um minuto.

sybct.timeout inteiro

O máximo de tempo a esperar em segundos por uma select_db ou chamada obter sucesso antes de retornar uma falha. Note que se max_execution_time foi excedido quando uma tentativa de conexão passa do tempo, seu script será terminado antes que possa executar uma ação na falha. O padrão é sem limite.

sybct.hostname string

O nome da máquina a partir da qual você diz se conectar, para ser mostrado por sp_who. O padrão é nenhum (none).

Diretivas de Configuração Informix

ifx.allow_persistent booleano

Permite ou não conexões persistentes Informix.

ifx.max_persistent inteiro

O número máximo de conexões persistentes Informix por processo.

ifx.max_links inteiro

O número máximo de conexões Informix por processo, incluindo conexões persistentes.

ifx.default_host string

A máquina padrão a ser conectada quando nenhuma máquina é especificada em ifx_connect() ou ifx_pconnect().

ifx.default_user string

O id de usuário padrão a ser usado quando nenhum é especificado em ifx_connect() ou ifx_pconnect().

ifx.default_password string

A senha padrão a ser usada quando nenhuma é especificada em ifx_connect() ou ifx_pconnect().

ifx.blobinfile booleano

Defina como TRUE (verdadeiro) se você quer retornar colunas blob num arquivo, falso se você as quer na memória. Você pode sobescrever a definição em tempo de execução com ifx_blobinfile_mode().

ifx.textasvarchar booleano

Defina como TRUE (verdadeiro) se você quer retornar colunas TEXT como strings normais em declarações select, falso se você deseja usar parâmetros id blob. Você pode sobescrever essa definição em tempo de execução com ifx_textasvarchar().

ifx.byteasvarchar booleano

Defina como TRUE (verdadeiro) se você quer retornar colunas BYTE como strings normais em chamadas select, falso se você deseja usar parâmetros id blob. Você pode sobescrever essa definição em tempo de execução com ifx_textasvarchar().

ifx.charasvarchar booleano

Defina como verdadeiro se você deseja cortar espaços de trilha de colunas CHAR ao consultá-las.

ifx.nullformat booleano

Defina como verdadeiro se você quer retornar colunas NULL como a string literal "NULL", falso se você que-las retornadas como uma string vazia "". Você pode sobescrever essa definição em tempo de execução com ifx_nullformat().

Diretivas de Configuração BC Math

bcmath.scale inteiro

Número de dígitos decimais para todas as funções bcmath.

Diretivas de Configuração de Capacidade de Navegador

browscap string

Nome do arquivo de capacidade do navegador. Veja também get_browser().

Diretivas de Configuração Unified ODBC

uodbc.default_db string

Fonte de dados ODBC a ser usada se nenhuma for especificada em odbc_connect() ou odbc_pconnect().

uodbc.default_user string

Nome de usuário a usar de nenhum foi especificado em odbc_connect() ou odbc_pconnect().

uodbc.default_pw string

Senha a ser usada se nenhuma foi especificada em odbc_connect() ou odbc_pconnect().

uodbc.allow_persistent booleano

Permitir ou não conexões ODBC persistentes.

uodbc.max_persistent inteiro

O número máximo de conexões persistentes ODBC por processo.

uodbc.max_links inteiro

O número máximo de conexões ODBC por processo, incluindo conexões persistentes.