実行時設定
php.ini
の設定により動作が変化します。
zlib 拡張モジュールは、
ブラウザがサポートする場合にページを透過的に圧縮するオプションを提供します。
ここで、
設定ファイル php.ini
のオプションには、以下の 3 種類があります。
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
zlib.output_compression | "0" | PHP_INI_ALL | |
zlib.output_compression_level | "-1" | PHP_INI_ALL | |
zlib.output_handler | "" | PHP_INI_ALL |
PHP_INI_* モードの詳細および定義については どこで設定を行うのか を参照してください。 以下に設定ディレクティブに関する 簡単な説明を示します。
zlib.output_compression
bool/int透過的なページ圧縮を行うかどうか。
php.ini
または Apache の設定でこのオプションが、"On" に設定された場合、 ブラウザが "Accept-Encoding: gzip" または "deflate" ヘッダを送信する場合に、ページは圧縮されます。 "Content-Encoding: gzip" (および "deflate") と "Vary: Accept-Encoding" ヘッダが出力に追加されます。 実行時、何らかのデータを送出する前にのみ設定することが可能です。このオプションも論理値 "On"/"Off" のかわりに整数値をとることができ、 これを用いて出力のバッファサイズ (デフォルトは 4KB) を設定することができます。
注意:
このオプションに 'On' を設定した場合、 output_handler を空にする必要があります! かわりに
zlib.output_handler
を使用する必要があります。zlib.output_compression_level
int透過的出力圧縮で使用される圧縮レベル。0 (圧縮しない) から 9 (最高レベルの圧縮をする) までの値を指定します。デフォルト値の -1 は、どのレベルを使用するかをサーバーで決定させます。
zlib.output_handler
stringzlib.output_compression が有効な場合、 他の出力ハンドラを指定することはできません。 この設定は、output_handler と同じですが、順番が異なります。