Configuration à l'exécution
Le comportement de ces fonctions est
affecté par la configuration dans le fichier php.ini.
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
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"); ?>