それはどんな違いが何を作るんon_start()
を使用して、ob_start(); PHPで?
// ENABLE GZIP COMPRESSION
ob_start();
ob_start('ob_gzhandler');
またはこのまったく同じである、
// ENABLE GZIP COMPRESSION
ob_start('ob_gzhandler');
は、私は私のウェブサイトは少しスピードアップするようだ最初の例と同じようにお願いします。
ありがとう
それはどんな違いが何を作るんon_start()
を使用して、ob_start(); PHPで?
// ENABLE GZIP COMPRESSION
ob_start();
ob_start('ob_gzhandler');
またはこのまったく同じである、
// ENABLE GZIP COMPRESSION
ob_start('ob_gzhandler');
は、私は私のウェブサイトは少しスピードアップするようだ最初の例と同じようにお願いします。
ありがとう
次のいずれかの実行する必要があります。
ob_start();
か:
ob_start('ob_gzhandler');
両方ではありませんが。ユーザーエージェントは、GZIPエンコーディングを受け入れるかどうかを確認するために$_SERVER['HTTP_ACCEPT_ENCODING']
を確認することができます。
if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false)
ob_start('ob_gzhandler');
else
ob_start();
クライアントがgzipを受け入れるかどうかを実際に確認する必要はなく、ハンドラはこれを行い、受け入れられない場合はgzipを使用しません: '注: PHP 4.0.4では、ob_gzhandler()エンコードされたデータを、圧縮されたWebページをサポートするWebブラウザに送信します。 ob_gzhandler()は、ブラウザが受け取るコンテンツ・エンコーディングのタイプを決定し、それに応じて出力を返します。 – drew010
最初の2つの出力バッファリングが開始されます。メモリの浪費。
違いはありませんまったく。 ob_start()はスタック可能です。つまり、2番目のob_start()は、フラッシュされると、その内容を最初のob_start()に追加します。
FYI、PHP-FPMから実行されるPHPは自動的に出力バッファリングを開始します。それから、Nginx/Apacheはそれをgzipsしてユーザに送ります。 – Xeoncross