OB で zlib 圧縮を使用しなければならなかったのは久しぶりです (理由については後で詳しく説明します)。ただし、PHP の OB で zlib 圧縮をオフにするように説得させてください。まず第一に、私たちが同じページにいることを確認するための簡単な背景.
OBはどのように機能しますか
php が何かを出力するたびに、OB がなければ、Apache に直接送信され、Apache からブラウザに送信されます。代わりに、OB を使用すると、出力は apache で停止し、データが (ブラウザに) フラッシュされるか、スクリプトが終了してデータが自動的にフラッシュされるまで待機します。これにより、プロセスの Apache から Web ブラウザへの段階をバッファリングすることで、ページを生成する際の時間とリソースを大幅に節約できます。
PHP で OB 圧縮を使用しない理由
なぜPHPに圧縮させるのですか? そのようなタスクを実行するのはサーバーの仕事です(たとえば、jsファイルを圧縮するだけでなく)。PHP を処理するために Apache を大幅に解放するために「すべき」ことは、NGINX を一般向けにインストールすることです。リバース プロキシとして設定するのは非常に簡単で、php や apache と同じサーバーにインストールすることもできます。
したがって、ポート 80 に NGINX を設定し、Apache を 8080 に設定します (nginx の接続のみを許可しますが、既に公開されており、nginx をバイパスするためのデバッグに最適であるため、しばらくの間公開したままにしても心配しないでください。したがって、セキュリティの問題はありません)。上昇するはずですが、長期間公開しないことをお勧めします)。次に、nginx リバース プロキシを apache に作成し、apache からオフロードするすべての静的ファイルをキャッシュします (nginx が代わりにそれらを提供するため)。つまり、apache はより多くの php リクエストを実行でき、nginx に OUTPUT COMPRESSION を実行させることもできます;) apache と php を解放して、より多くの要求。追加の利点として、nginx は Apache よりもはるかに高速に静的ファイルを提供することもでき、Nginx は RAM の使用量がはるかに少なく、より多くの接続を処理できます。
nginx の初心者でも、オンラインでいくつかのチュートリアルを読んだ後に nginx のセットアップを取得し、今述べたすべてを 1 日以内に完了することができました。1日もよく過ごしました。
ただし、PHP から Apache への出力バッファリングを ON のままにしておくことを忘れないでください。ただし、PHP では zlib 圧縮を OFF にし、代わりに nginx では有効にします。