ホームページ  >  記事  >  バックエンド開発  >  PHP で gzip 圧縮を有効にする 3 つの信頼できる方法

PHP で gzip 圧縮を有効にする 3 つの信頼できる方法

WBOY
WBOYオリジナル
2016-07-25 08:58:561552ブラウズ
  1. output_buffering = Off
コードをコピー

3、php.iniは

  1. ;output_handler = ob_gzhandler
  2. zlib.output_compression = Off
  3. ;z lib.output_compression_level = -1
コードをコピーします

4、Apacheは次のように追加されます。

  1. AddOutputFilter DEFLATE html php js css
コードをコピー
方法 2、zlib.output_compression を使用php.ini 1. Apache で mod_deflate.so を閉じる 2、php.ini:

  1. output_buffering = On
コードをコピーします
2、php.ini は

  1. ;圧縮 = オフ
  2. zlib.output_compression_level = 6 (レベル -1 ~ 9、デフォルトは 6)
コードをコピー
方法 3、PHP の組み込み関数 ob_gzhandler を使用します (拡張機能で php_zlib.dll がインストールされ、開かれていることを確認する必要があります) 1. Apache で mod_deflate.so を閉じる 2. php.ini は

    output_handler = ob_gzhandler
  1. zlib.output_compression = On
  2. ;zlib.output_compression_level = -1
コードをコピーします
手順: 方法 3 では、php.ini で Output_handler=ob_gzhandler が設定されている場合、プログラムに ob_start('ob_gzhandler'); を追加する必要はありません。 そうしないと二重圧縮されるため、実際にはエラーが報告され、一般のプログラムがそれを判断します。

php.iniをデフォルトでオフに設定してプログラムに追加しますが、自分のサーバーの場合は、iniをデフォルトでオンに設定します。 タイプ 1 またはタイプ 2 を使用することをお勧めします: (特にタイプ 1 を使用することをお勧めします) 現時点では、ob_start() は次のように記述して関数をカスタマイズできます。 ob_start("compress_html"); HTML 形式を圧縮できます。

    function compress_html($buffer){//ファイル内のコメントを削除します
  1. $pattern=array("/> *([^ ]*) */","'/*[^*]**/'","/[s]+/","/rn/","/n/","/t /");
  2. $replace=array(">\1return ltrim(rtrim(preg_replace($pattern,$replace) ,$buffer)));
  3. }
コードをコピー
これ以降、圧縮できるのはhtml形式だけではありません(gzipも使えます)。

方法 1 の完全な構成計画: 1. Apache で mod_deflate.so を開きます 2. php.ini は

    output_buffering = Off
コードをコピー
3. php.ini は

    output_handler = ob_gzhandler
  1. ;zlib.output_compression = オフ
  2. ; zlib .output_compression_level = -1
コード
4をコピーすると、Apacheは次のように追加します。

  1. AddOutputFilter DEFLATE html php js css
コードをコピーします
圧縮する必要があるphpヘッダーで次のプログラムを使用しますhtml形式:

    ob_start("compress_html");//php.ini で zlib.output_compression をオンにする必要があります
  1. function compress_html($buffer){//ファイル内のコメントを削除します
  2. $pattern=array("/ > ; *([^ ]*) *","//","'/*[^*]**/'"/ [ s]+/","/rn/","/n/","/t/");
  3. $replace=array(">\1return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));
  4. }
コードをコピー
これでphpのgzip圧縮機能が有効になります、ブラウザでソース ファイルを表示する際の HTML の自動圧縮と書式設定をサポートしており、非常に便利です。 gzip 圧縮をオンにします。特に資金が不十分な小規模のウェブマスターにとって、帯域幅はお金の無駄です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。