Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration des buffers de sortie
Nom Défaut Modifiable Historique
output_buffering "0" INI_PERDIR  
output_handler null INI_PERDIR  
implicit_flush "0" INI_ALL  
url_rewriter.tags "form=" INI_ALL À partir de PHP 7.1.0, ce paramètre INI n'a d'effet que sur output_add_rewrite_var(). Antérieur à PHP 7.1.0, ce paramètre INI activait la prise en charge transparente de l'ID de session (voir session.trans_sid_tags).
url_rewriter.hosts $_SERVER['HTTP_HOST'] est utilisé par défaut. INI_ALL Disponible à partir de PHP 7.1.0
Pour plus de détails sur les modes INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

output_buffering bool/int

La mise en mémoire tampon de la sortie pour tous les fichiers peut être activée en définissant cette directive sur "On". Pour limiter la taille du tampon, un nombre/quantité correspondant au nombre maximal d'octets autorisés peut être utilisé à la place de "On" pour la valeur de cette directive. Par exemple, output_buffering=4096.

output_handler string

La sortie des scripts peut être redirigée vers une fonction. Par exemple, en définissant output_handler sur mb_output_handler(), le codage des caractères sera converti de manière transparente vers le codage spécifié. La configuration de n'importe quel gestionnaire de sortie active automatiquement la mise en mémoire tampon de la sortie.

Note:

mb_output_handler() et ob_iconv_handler() ne peuvent pas être utilisés ensemble, et ob_gzhandler() et zlib.output_compression ne peuvent pas être utilisés avec l'un des éléments suivants : mb_output_handler(), ob_gzhandler(), zlib.output_compression, le gestionnaire 'URL-Rewriter' (voir session.use_trans_sid et output_add_rewrite_var()).

Note:

Seules les fonctions internes peuvent être utilisées avec cette directive. Pour les fonctions utilisateurs, utilisez ob_start().

implicit_flush bool

false par défaut. En changeant cette valeur pour true vous indiquez à PHP que le buffer de sortie doit être vidé automatiquement après chaque fonction d'affichage. Cela revient à appeler la fonction flush() après chaque appel à toute fonction produisant une sortie (comme print ou echo) et chaque bloc HTML.

Lorsque vous utilisez PHP en environnement web, activer cette option a de sérieuses implications et généralement, cela n'est conseillé que pour les déboguages. Cette valeur est par défaut à true lorsque PHP fonctionne en mode CLI SAPI.

Voir aussi ob_implicit_flush().

url_rewriter.tags string
url_rewriter.tags spécifie les balises HTML et les attributs dans lesquels les URLs sont réécrites par les valeurs de output_add_rewrite_var(). Par défaut, c'est "form=". Ajouter "form=" ou n'importe quel attribut form ajoutera un élément input caché dans le form avec un attribut de nom et de valeur pour chaque paire nom-valeur transmise à output_add_rewrite_var().
Attention

Ajouter la même balise plus d'une fois à url_rewriter.tags utilisera uniquement la première occurrence pendant le processus de réécriture d'URL.

Note: Antérieur à PHP 7.1.0, url_rewriter.tags était utilisé pour spécifier session.trans_sid_tags.

url_rewriter.hosts string
url_rewriter.hosts spécifie les hôtes qui sont réécrits pour includes les valeurs de la fonction output_add_rewrite_var(). Par défaut $_SERVER['HTTP_HOST']. Plusieurs hôtes peuvent être spécifiés séparé par une virgule, aucun espace n'est autorisé entre les hôtes. Par exemple : php.net,wiki.php.net,bugs.php.net

add a note add a note

User Contributed Notes 1 note

up
-1
support at losalgendesign dot com
11 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