web-dev-qa-db-ja.com

PHPキャッシングが有効になっているかどうかを知るにはどうすればよいですか?

以前はキャッシュをインストールするのは非常に難しいと思っていたので、一度も実行したことがありません... APCについて読んだ後、インストールはかなり簡単に思えます。私はいつもそれを使用するために私のアプリケーション内でたくさんのPHPコードを修正する必要があるだろうと思っていました笑.

とにかく、APCをインストールしたいです。 phpinfo()を使用すると、ページにリストされていないため、インストールされていません。これは他のさまざまなキャッシュシステムにも表示されますか?競合が発生するかどうかわからないため、すでに別のキャッシュシステムがインストールされている場合は、APCをインストールしたくありません。ホストはこれらを自動的にインストールしますか?

キャッシュが有効になっているかどうかを確認するために確認する手順は何ですか?

25
Joker

インストールされているキャッシング拡張機能は、phpinfo()ファイルにリストされます。それらは[コマンドの構成]ボックス(-enable-apcなど)の引数の1つとしてリストされ、ページのどこかに独自のセクションがあるはずです。

最も人気のある2つのPHPキャッシングモジュールは、APCとMemcacheです。

13
simshaun

プログラムで確認するには:

if(extension_loaded('apc') && ini_get('apc.enabled'))
{
    echo "APC enabled!";
}

注:バージョン5.5以降、PHPには、Opcodeキャッシュ/オプティマイザが含まれています(ただし、デフォルトでは無効になっています)。APCを実行したい場合は、コメントで@alcoholが言及するAPCu拡張機能があります。 。その拡張機能を使用している場合は、extension_loaded( 'apc')extension_loaded( 'apcに置き換える必要があります。 ')。ま​​たは、コマンドラインから確認できます。

phpX.Y -i | grep apcu

ただし、Webサーバーで使用されているものと同じPHPバイナリを使用していることを確認してください。

68

通常、PHPのほとんどのキャッシング機能は拡張機能の形式であり、これらはphpinfo()呼び出しで表示されるはずです(ただし、それらを認識する必要があります)。

あなたはPHPで書かれているものを見つけ、ページのロードをキャッシュすることができます。そのコンテンツがデータベースまたは他のWebリクエストなどから生成された場合、これらは通常、上記のライブラリの知識を必要とし、コードを変更する必要があります。

また、さまざまな拡張機能やプログラムが異なるタスクを実行するため、探しているキャッシングのタイプにも依存します。 APCはセミコンパイル/解釈済みのコードをキャッシュしてパフォーマンスを向上させますが、memcache(これも推奨)などは、使用しているデータベース機能の負荷を軽減することを目的としています。

個人的には、私はあなたが必要とする機能を調べ、それをインストールすることを目指します-もちろんそれがすでにそうである場合を除きます。

0
Adam