2

両方で圧縮をどのように処理できますか?それは誰の責任ですか?apacheまたはphpを使用してファイルを圧縮する方が良いですか?
PHP圧縮コード:

ob_start("ob_gzhandler");

またはアパッチのもの:

AddOutputFilterByType DEFLATE text/html text/plain text/xml 

リクエストが最初にapacheで、次にPHPに到達するのはこの権利ですか?答えが肯定的である場合、apacheのものを使用する必要があると推測できますか?

4

5 に答える 5

4

これが私が知っていることであり、賛否両論の方法で提示されています。Apache:

  • サーバーはデフォルトで.htaccessファイルをキャッシュするため、.htaccessコードは常に高速に実行されます。
  • .htaccessを使用すると、個々のフォルダーのカスタムルールを定義でき、サーバーがそれらを自動的に取得します
  • PHPでは、すべてを1か所に書き込むことはできません。圧縮以外にも、.htaccessに必要なものはたくさんあります。

  • 文字セット、有効期限/キャッシュコントロール、おそらくいくつかのURL書き換えルール、権限、ロボット(Googlebotなど)固有のもの。

私の知る限り、PHPだけでこれらすべてを行うことはできません。また、これらすべてを行う必要があるかもしれないので、なぜ両方を組み合わせる必要があるのか​​わかりません。私は常に.htaccessまたはサーバーレベルの構成に依存して上記の列挙された側面を制御してきましたが、問題が発生することはめったにありませんでした。

PHP:

  • おそらくもう少し手間がかかりません。共有ホスティングプレーン上の.htaccessファイルでは、かなり制限があり、面倒な問題が発生する可能性があります。
  • 一部のサーバーは特定のコマンドを取得しません。一部のサーバー(1や1など)には、設定(および神経)を混乱させるデフォルト構成があります。
  • 技術者ではない人にとってはおそらく使いやすいでしょう

全体として、Apacheが勝者です。それは私がいつも一緒に行くものです!

于 2012-07-24T12:02:14.467 に答える
3

2つのいずれかが高速である理由はわかりませんが、apacheはcssファイル/jsファイルの圧縮も実行できることに注意してください...これらのファイルをphpで解析して圧縮する必要はありません。それらをブラウザに配信します。

したがって、apacheメソッドを使用することをお勧めします。

于 2012-07-24T12:02:19.140 に答える
3

私の会社では通常、静的リソースに gzip 圧縮を使用しています。Apache は PHP にこれらのリソースを処理するように要求し (必要な場合)、出力結果を圧縮します。理論的には (C & C++ は PHP よりも高速です)、Apache 圧縮を使用する方が「安全」であると言えます。

注意: ここでのより安全とは、ページ全体が圧縮されることを意味しますが、Web ページの一部を関数で圧縮するのを忘れる可能性がありますob_start

于 2012-07-24T12:05:01.557 に答える
2

どちらが速いかを確認するには、独自のテストを実行する必要がありますが、コンテンツの提供方法に違いはないと思います。PHPを使用する場合は、出力バッファリングを自分で処理する必要がありますが、これはより難しい場合があります。apacheメソッドを使用するとより透過的になります。

于 2012-07-24T11:57:30.830 に答える
2

Apache は、php のメモリ制限エラーを防ぎ、php のコンパイルされたコードと解釈されたコードのためにより高速に動作するため、より優れています。また、php とは異なるレイヤーで圧縮を行うことはより意味があります。

于 2012-07-24T12:02:08.680 に答える