Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
L'extension zlib offre l'option de compresser de manière transparente les pages PHP à la volée, si le navigateur du visiteur le supporte. Voici donc les trois options à utiliser dans le fichier de configuration php.ini.
Nom | Défaut | Modifiable | Historique |
---|---|---|---|
zlib.output_compression | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5. |
zlib.output_compression_level | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. |
zlib.output_handler | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. |
Voici un éclaircissement sur l'utilisation des directives de configuration.
zlib.output_compression
booléen/entier
Active ou pas la compression transparente des pages. Si cette option est mise à "On" dans php.ini ou dans la configuration Apache, les pages sont compressées si le navigateur envoie un en-tête "Accept-Encoding: gzip" ou "deflate". Les en-têtes "Content-Encoding: gzip" (respectivement "deflate") et "Vary: Accept-Encoding" sont ajoutés dans la page envoyée au navigateur. En fonctionnement, il peut être défini uniquement avant tout affichage.
Cette option accepte aussi des valeurs entières au lieu des booléens, "On"/"Off", ce qui vous permet de configurer la taille du tampon de sortie (par défaut, il vaut 4ko).
Note:
output_handler doit être laissée à vide si cette option est activée. Sinon, vous devez utiliser zlib.output_handler.
zlib.output_compression_level
entier
Niveau de compression utilisé pour la compression de sortie. La valeur doit être comprise entre 0 (aucune compression) et 9 (compression élevée). La valeur par défaut est -1, ce qui laissera le serveur décider du niveau de compression à utiliser.
zlib.output_handler
chaîne de caractères
Vous ne pouvez pas spécifier de gestionnaire de sortie supplémentaire si zlib.output_compression est activée. Cette configuration est la même que output_handler mais dans un ordre différent.