PHP 5.4.33 Released

Configurazione di Runtime

Il comportamento di queste funzioni è influenzato dalle impostazioni di php.ini.

L'estensione zlib permette di comprimere in modo trasparente le pagine on-the-fly, se il browser supporta questa funzionalità. Quindi ci sono due opzioni nel file di configurazione php.ini.

Opzioni di configurazione di Zlib
Nome Default Configurabile in
zlib.output_compression "Off" PHP_INI_ALL
zlib.output_compression_level "-1" PHP_INI_ALL
zlib.output_handler "" PHP_INI_ALL
Per ulteriori dettagli e definizioni delle costanti PHP_INI_* vedere ini_set().

Breve descrizione dei parametri di configurazione.

zlib.output_compression boolean/integer

Decide se comprimere le agine in maniera trasparente. Se questa opzione è impostata a "On" in php.ini o nella configurazione di Apache, le pagine vengono compresse se il browser invia un header "Accept-Encoding: gzip" o "deflate". Gli header "Content-Encoding: gzip" (oppure "deflate") e "Vary: Accept-Encoding" sono aggiunti all'output.

Questa opzione accetta anche valori interi oltre ai booleani "On"/"Off", in questo modo è possibile impostare la dimensione del buffer (il default è 4KB).

Nota:

output_handler deve essere vuoto se quest opzione è 'On' ! Altrimenti occorre utilizzare zlib.output_handler.

zlib.output_compression_level integer

Livello di compressione utilizzato per la compressione trasparente dell'output.

zlib.output_handler string

Non si possino specificare ulteriori handler dell'output se zlib.output_compression è attivo. Questa impostazione è come output_handler ma con un ordine differente.

add a note add a note

User Contributed Notes 2 notes

up
2
scott at pawprint dot net
2 years ago
In the hopes this will help others - a hard to spot gotcha when implementing zlib.output_compression. if you use flush() anywhere in your script (even right at the end) the compression won't work - you need to let that happen automatically or it ends up being sent uncompressed.
up
-1
Nathan
2 years ago
Apparently, there is a bug in certain versions of PHP with setting zlib.output_compression to "On" via ini_set:

<?php
ini_set
("zlib.output_compression", "On");
?>

In some cases, it does not send the Content-type header and browsers won't know to decompress the contents before displaying. Instead, you can set it to the buffer size, which sends the correct header:

<?php
ini_set
("zlib.output_compression", 4096);
?>
To Top