CakeFest 2024: The Official CakePHP Conference

Configurações em Execução

O comportamento destas funções é afetado pelas configurações do php.ini.

Opções de configuração de Controle de Saída
Nome Padrão Modificável Registro de Alterações
output_buffering "0" INI_PERDIR  
output_handler null INI_PERDIR  
implicit_flush "0" INI_ALL  
url_rewriter.tags "form=" INI_ALL A partir do PHP 7.1.0, esta configuração INI afeta somente output_add_rewrite_var(). Antes do PHP 7.1.0, esta configuração INI habilitava duporte a ID de sessão transparente (veja session.trans_sid_tags).
url_rewriter.hosts $_SERVER['HTTP_HOST'] é usado como padrão. INI_ALL Disponível a partir do PHP 7.1.0
Para mais detalhes e definições dos modos INI_*, consulte os Onde uma configuração deve ser definida.

Aqui está uma breve explicação das diretivas de configuração.

output_buffering bool/int

Buffer de saída para todos os arquivos pode ser habilitado configurando-se esta diretiva para "On". Para limitar o tamanho do buffer, um número/quantidade correspondendo ao número máximo de bytes permitidos pode ser usado no lugar de "On" para o valor desta diretiva. Por exemplo, output_buffering=4096. Esta diretiva é sempre "Off" no PHP-CLI.

output_handler string

A saída de scripts pode ser redirecionada para uma função. Por exemplo, ao configurar output_handler para mb_output_handler(), a codificação de caracteres será convertida de forma trasnparente para a codificação especificada. Configurar qualquer manipulador de saída automaticamente habilita o buffer de saída.

Nota:

mb_output_handler() e ob_iconv_handler() não podem ser usadas juntas; e ob_gzhandler() e zlib.output_compression não podem ser usadas com nenhuma das funções a seguir: mb_output_handler(), ob_gzhandler(), zlib.output_compression, o manipulador 'URL-Rewriter' (veja session.use_trans_sid e output_add_rewrite_var()).

Nota:

Apenas funções internas do PHP podem ser usadas com esta diretiva. Para funções definidas pelo usuário, use ob_start().

implicit_flush bool

false por padrão. Alterar para true indica ao PHP que a camada de saída deve se descarregar automaticamente após cada bloco de saída. Isto é equivalente a chamar a função do PHP flush() após cada chamada a qualquer função que produza saída (tal como print ou echo) e cada bloco HTML.

Ao usar o PHP em um ambiente web, habilitar esta opção tem implicações sérias em desempenho e é geralmente recomendada apenas para depuração. O valor deste parâmetro é true ao operar sob o CLI SAPI.

Consulte também ob_implicit_flush().

url_rewriter.tags string
url_rewriter.tags especifica etiquetas e atributos HTML cujas URLs são re-escritas pelos valores de output_add_rewrite_var(). O padrão é "form=". Adicionar "form=" ou qualquer atributo form irá adicionar um elemento input oculto ao form com um atributo de nome e valor para cada par de nome-valor passado para output_add_rewrite_var().
Cuidado

Caso seja adicionada a mesma etiqueta mais de uma vez a url_rewriter.tags, apenas a primeira será usada durante o processo de re-escrita da URL.

Nota: Antes do PHP 7.1.0, url_rewriter.tags era usado para especificar session.trans_sid_tags.

url_rewriter.hosts string
url_rewriter.hosts especifica quais hosts são re-escritos para incluir os valores output_add_rewrite_var(). O padrão é $_SERVER['HTTP_HOST']. Múltiplos hosts podem ser especificados por uma lista separada por vírgulas que não contenha espaços. Por exemplo, "php.net,wiki.php.net,bugs.php.net".

add a note

User Contributed Notes 1 note

up
5
support at losalgendesign dot com
10 years ago
Using "OFF" or no value on output_buffering will disable header modifications, like redirects or content-type or content-disposition resulting in the error we commonly attribute to output before header modifications:

Warning: Cannot modify header information - headers already sent by (output started at C:\PATH\filename.php:1) C:\PATH\filename.php on line 1

Example code with output_buffering = OFF which results in this behavior. Changing it to "ON" or giving it a value will likely cause normal behavior.

<?php header("Location: http://www.php.net"); ?>

or

<?php header("Content-Type: text/Calendar"); ?>
<?php header
("Content-Disposition: inline; filename=appointment.ics"); ?>
To Top