Esta não é uma lista completa das diretivas do PHP. Muitas diretivas são listadas em seus lugares apropriados como, por exemplo, informações sobre diretivas de sessões estão no capítulo sobre sessões.
Tabela 4-3. Opções gerais da linguagem
Nome | Padrão | Alterável |
---|---|---|
short_open_tag | On | PHP_INI_SYSTEM|PHP_INI_PERDIR |
asp_tags | Off | PHP_INI_SYSTEM|PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
y2k_compliance | Off | PHP_INI_ALL |
allow_call_time_pass_reference | On | PHP_INI_SYSTEM|PHP_INI_PERDIR |
expose_php | On | PHP_INI_SYSTEM |
Breve descrição das diretivas de configuração.
Informa quando a tag reduzida (<? ?>) do PHP pode ser permitida. Se você quiser usar o PHP em combinação com XML, você pode desligar essa opção para poder utilizar <?xml ?> inline. De outra forma, você pode imprimir com o PHP, por exemplo: <?php echo '<?xml version="1.0"'; ?>. Se desligado, você precisará utilizar a forma longa da tag de abertura do PHP (<?php ?>).
Nota: Esta diretiva também afeta o atalho <?=, que é idêntico a <? echo. A utilização desse atalho requer short_open_tag ligado.
Ativa a utilização das tags estilo ASP <% %> em adição as tags <?php ?>. Isto inclui o atalho de impressão de valores <%= $var %>. Para mais informações, veja Alternando do HTML.
Nota: O suporte a tags estilo APS foi acrescentado no 3.0.4.
O número de dígitos significantes exibidos em números de ponto flutuante.
Força a especificação Ano 2002 (poderá causar problemas com browsers não compatíveis)
Especifica a habilidade em forçar que argumentos possam ser passados por referência na chamada de uma função. Este método é obsoleto e logo não será mais suportado nas futuras versões do PHP/Zend. O método recomendado para especificar que argumentos devem ser passados por referência é pela declaração da função. Você é encorajado em tentar desligar essa opção e verificar se seus scripts trabalham adequadamente de forma a garantir que elas irão funcionar nas futuras versões da linguagem (você receberá um alerta cada vez que utilizar esse recurso, e o argumento será passado por valor em vez de por referência).
Veja também Referências Explicadas.
Decide se o PHP poderá expor o fato de que ele está instalado no servidor (acrescentando sua assinatura no header do servidor web). Isto não causa problemas de segurança de qualquer forma, mas torna possível determinar se você usa o PHP em seu servidor ou não.
Breve descrição das diretivas de configuração.
Isto configura a quantidade máxima de memória, em bytes, que um script poderá alocar. Isto ajuda a prevenir que scripts mal escritos acabem com toda a memória disponível do servidor. Para poder utilizar esta diretiva, você precisa ativá-la na compilação. Assim, sua linha de configuração deve incluir: --enable-memory-limit. Note que você pode configura-la para -1 se não quiser impor nenhum limite para a utilização da memória.
A partir do PHP 4.3.2 e quando memory_limit estiver ativo, a função PHP memory_get_usage() fica disponível.
Veja também max_execution_time.
Tabela 4-5. Opções configuráveis para manipulação de dados
Nome | Padrão | Alterável |
---|---|---|
track-vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL |
arg_separator.input | "&" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
variables_order | "EGPCS" | PHP_INI_ALL |
register_globals | "Off" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
register_argc_argv | "On" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
register_long_arrays | "On" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
post_max_size | "8M" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
gpc_order | "GPC" | PHP_INI_ALL |
auto_prepend_file | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
auto_append_file | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "iso-8859-1" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
allow_webdav_methods | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
Breve descrição das diretivas de configuração.
Se ativado, quaisquer variáveis Environment, GET, POST, Cookie e Server encontradas poderão ser acessadas nos arrays globais associativos $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER.
Note que a partir do PHP 4.0.3, track_vars está sempre ativado.
O separador de parâmetros em URLs geradas pelo PHP.
Lista dos separador(es) utilizados pelo PHP para interpretar URLs em variáveis.
Nota: Cada caracter nesta diretiva é considerado como um separador!
Configura a ordem de interpretação das variáveis EGPCS (Environment, GET, POST, Cookie e Server). O default dessa diretiva é "EGPCS". Configurando para "GP", por exemplo, fará com que o PHP ignore completamente variáveis de ambiente (E), cookies (C) e do servidor (S), sendo que qualquer variável GET será sobrescrita por qualquer variável do método POST com o mesmo nome.
Veja também register_globals.
Ativa ou não o registro de variáveis EGPCS (Environment, GET, POST, Cookie e Server) como variáveis globais. Por exemplo: se register_globals = on, a URL http://www.example.com/test.php?id=3 irá criar a variável $id. Ou, $DOCUMENT_ROOT de $_SERVER['DOCUMENT_ROOT']. Você pode desligar essa diretiva se você não deseja sujar o escopo global de seus scripts com dados do usuário. Desde o PHP 4.2.0, o padrão dessa diretiva é off. É preferível utilizar as variáveis predefinidas do PHP, como as superglobals: $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER. Leia cuidadosamente o capitulo de segurança em Utilizando register_globals para mais informações.
Veja que register_globals não pode ser alterado em tempo de execução (ini_set()). Entretanto, você pode utilizar o .htaccess se seu host permitir como descrito anteriormente. Um exemplo de entrada do .htaccess: php_flag register_globals on.
Nota: register_globals é afetada pela diretiva variables_order .
Configura quando o PHP deve declarar ou não as variáveis argv e argc (que podem conter dados do método GET).
Veja também Utilizando o PHP em linha de comando. Além, essa diretiva foi criada no PHP 4.0.0 e sempre foi "ativa" antes disso.
Configura quando o PHP vai ou não registrar os grandes e obsoletos arrays $HTTP_*_VARS pré definidos. Se ativo (default), grandes variáveis arrays PHP como a $HTTP_GET_VARS serão defininas. Se você não estiver usando-as, é recomendado desligar essa opção, por questão de performance. Em vez desses arrays, utilize os arrays superglobais como $_GET.
Esta diretiva se tornou disponível no PHP 5.0.0.
Configura o tamanho máximo dos dados postados. Esta configuração também afeta o upload de arquivos. Para receber arquivos grandes, esse valor precisa ser maior que upload_max_filesize.
Se o limite de memória estiver ativado em seu script de configuração, memory_limit também afeta o upload de arquivos. Falando diretamente, memory_limit precisa ser maior que post_max_size.
Informa a ordem de interpretação das variáveis GET/POST/COOKIE. O padrão dessa diretiva é "GPC". Configurando para "GP", por exemplo, fará com que o PHP ignore completamente cookies e que sobrescreva qualquer dado postado via GET por variáveis postados via POST que tenham o mesmo nome.
Nota: Esta opção não está disponível no PHP 4. Utilize variables_order no seu lugar.
Especifica o nome do arquivo que será automaticamente interpretado antes do arquivo principal. O arquivo é incluído como se ele fosse chamado com a função include(), então include_path é utilizado.
O valor especial none desabilita a auto inclusão.
Especifica se o nome do arquivo que será automaticamente interpretado depois do arquivo principal. O arquivo é incluído como se ele fosse chamada a função include(), então include_path é utilizado.
O valor especial none desabilita a auto inclusão.
Nota: Se o script é terminado com exit(), a auto inclusão não irá ocorrer.
A partir da versão 4.0b4, o PHP sempre emite a codificação de caracter por padrão no header Content-type:. Para desabilitar o envio do código de página, simplesmente deixe a diretiva em branco.
Sempre preenche a variável $HTTP_RAW_POST_DATA.
Permite a manipulação de headers HTTP com scripts PHP (com PROPFIND, PROPPATCH, MOVE, COPY, etc). Se você quiser obter os dados postados dessas requisições, ative always_populate_raw_post_data para isso.
Veja também magic_quotes_gpc, magic-quotes-runtime, e magic_quotes_sybase.
Tabela 4-6. Opções de configuração de caminhos e diretórios
Nome | Padrão | Alterável |
---|---|---|
include_path | PHP_INCLUDE_PATH | PHP_INI_ALL |
doc_root | PHP_INCLUDE_PATH | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | PHP_EXTENSION_DIR | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "0" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.redirect_status_env | "" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_SYSTEM |
Breve descrição das diretivas de configuração.
Especifica a lista de diretórios onde as funções require(), include() and fopen_with_path() procurarão por arquivos. O formato é o mesmo que o da variável ambiente PATH: uma lista de diretórios, separador por vírgula no Unix ou ponto e vírgula no Windows.
Colocar um . no include_path permite includes relativos a partir do diretório atual.
O "diretório root" do PHP no servidor. Utilizado somente se for preenchido. Se o PHP estiver configurado com safe mode, nenhum arquivo acima desse diretório será acessível. Se o PHP não estiver compilado com FORCE_REDIRECT, você DEVE configurar doc_root se estiver rodando o PHP como CGI sob qualquer servidor web (que não o IIS) Outra alternativa é configurar a diretiva cgi.force_redirect, abaixo.
O caminho base do usado como diretório home do usuário para arquivos PHP, por exemplo public_html.
Diretório de onde o PHP poderá carregar dinamicamente as extensões. Veja também enable_dl e dl().
Que extensões dinamicamente carregáveis devem ser carregadas quando o PHP inicia.
Provém o correto PATH_INFO/PATH_TRANSLATED suporte para CGI. O comportamento anterior do PHP era informar PATH_TRANSLATED em SCRIPT_FILENAME, e não truncá-lo com PATH_INFO. Para maiores informações sobre PATH_INFO, veja as especificações CGI. Configurando isto para 1 fará com PHP CGI corrija os caminhos conforme a especificação. Configurando para 0 fará o PHP se comportar como antes. O default é zero. Você deve corrigir seus scripts para usar SCRIPT_FILENAME em vez de PATH_TRANSLATED.
cgi.force_redirect é necessário para prover segurança quando rodando o PHP como módulo sob a maioria dos servidores web. Se deixado indefinido, o PHP assume como ativo. Você pode desligá-lo SOB SEU RISCO.
Nota: Usuários Windows: Você PODE desligar isso no ISS, e de fato, você DEVE fazê-lo. Para que o OmniHTTPD ou Xitami funcionem, você PRECISA desligá-lo.
Se cgi.force_redirect estiver ativado, e se não estiver rodando o PHP sob os servidores web Apache ou Netscape (iPlanet), você PRECISARÁ configurar uma variável de ambiente que o PHP procurará para saber se ele pode continuar a execução.
Nota: Configurar essa variável PODERÁ causar problemas de segurança, POR ISSO SAIBA QUE ESTEJA FAZENDO PRIMEIRO.
FastCGI sob o IIS (em sistemas baseados em WinNT) suporta a habilidade de despersonalizar tokens de segurança da chamado do cliente. Isto permite ao ISS definir o contexto de segurança da requisição que está rodando. mod_fastcgi sob o Apache ainda não suporta esse recurso (17/03/2002). Configure 1 se estiver rodando sob o ISS. O padrão é zero.
Diz ao PHP que tipo de header utilizar quando enviando a resposta HTTP. Se configurado para 0, o PHP envia um header Status:, suportado pelo Apache e outros servidores web. Quando configurado para 1, o PHP irá enviar headers compatíveis com o RFC 2616. Deixe configurado para 0 a não ser que saiba o que está fazendo.
Tabela 4-7. Opções de configuração para upload de arquivos
Nome | Padrão | Alterável |
---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
Breve descrição das diretivas de configuração.
Permite ou não upload de arquivos HTTP. Veja também upload_max_filesize, upload_tmp_dir e post_max_size directives.
O diretório temporário utilizado para armazenar arquivos quando realizando o upload de arquivos. Ele precisa ter permissão de escrita para qualquer usuário que for rodar o PHP. Se não especificado, o PHP utilizará o default do sistema.
O tamanho máximo de um arquivo para upload.
Cuidado |
Somente o PHP 3 implemente um debugador padrão. Para mais informações, veja Apêndice E. |