php.ini の設定により動作が変化します。
この表は、WinCache 拡張モジュールが提供する設定項目をまとめたものです。
| 名前 | デフォルト | 最小 | 最大 | 変更可能 | 変更履歴 |
|---|---|---|---|---|---|
| wincache.fcenabled | "1" | "0" | "1" | INI_ALL |
WinCache 1.0.0 以降で使用可能 |
| wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.fcachesize | "24" | "5" | "255" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.fcndetect | "1" | "0" | "1" | INI_SYSTEM |
WinCache 1.1.0 以降で使用可能 |
| wincache.maxfilesize | "256" | "10" | "2048" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.ocenabled | "1" | "0" | "1" | INI_ALL |
WinCache 1.0.0 以降で使用可能、2.0.0.0 で削除 |
| wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能、2.0.0.0 で削除 |
| wincache.ocachesize | "96" | "15" | "255" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能、2.0.0.0 で削除 |
| wincache.filecount | "4096" | "1024" | "16384" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.chkinterval | "30" | "0" | "300" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.ttlmax | "1200" | "0" | "7200" | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.enablecli | 0 | 0 | 1 | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.ignorelist | NULL | NULL | NULL | INI_ALL |
WinCache 1.0.0 以降で使用可能 |
| wincache.namesalt | NULL | NULL | NULL | INI_SYSTEM |
WinCache 1.0.0 以降で使用可能 |
| wincache.ucenabled | 1 | 0 | 1 | INI_SYSTEM |
WinCache 1.1.0 以降で使用可能 |
| wincache.ucachesize | 8 | 5 | 85 | INI_SYSTEM |
WinCache 1.1.0 以降で使用可能 |
| wincache.scachesize | 8 | 5 | 85 | INI_SYSTEM |
WinCache 1.1.0 以降で使用可能 |
| wincache.rerouteini | NULL | NULL | NULL | INI_SYSTEM |
WinCache 1.2.0 以降で使用可能。1.3.7 で削除。 |
| wincache.reroute_enabled | 1 | 0 | 1 | INI_SYSTEM|INI_PERDIR |
WinCache 1.3.7 以降で使用可能 |
| wincache.srwlocks | 1 | 0 | 1 | INI_SYSTEM |
WinCache 1.3.6.3 以降で使用可能、2.0.0.0 で削除 |
| wincache.filemapdir | NULL | NULL | NULL | INI_SYSTEM |
WinCache 1.3.7.4 以降で使用可能 |
以下に設定ディレクティブに関する 簡単な説明を示します。
wincache.fcenabled
bool
ファイルキャッシュ機能を有効あるいは無効にします。
wincache.fcenabledfilter
string
ファイルキャッシュ有効あるいは無効にする IIS ウェブサイト識別子の一覧を、
カンマ区切りで指定します。この設定は wincache.fcenabled
との組み合わせで機能します。
wincache.fcenabled が 1 の場合は、
wincache.fcenabledfilter のファイルキャッシュが無効になります。
wincache.fcenabled が 0 の場合は
wincache.fcenabledfilter のファイルキャッシュが有効になります。
wincache.fcachesize
int
ファイルキャッシュに割り当てる最大メモリ容量 (メガバイト単位) を指定します。 キャッシュされたファイルの総容量がこの設定値を超えると、 いちばん古いファイルから順にファイルキャッシュから取り除かれます。
wincache.fcndetect
bool
ファイルの変更通知検出機能を有効あるいは無効にします。
ファイル変更通知がサポートされているときは、対応するファイルがファイスシステム上で変更されるとすぐに
opcode キャッシュおよびファイルキャッシュも更新します。
ファイル変更通知をサポートしていないとき (ネットワークファイル共有を使っている場合など) は、
wincache.chkinterval で指定した間隔ごとに wincache がファイル更新を確認します。
wincache.maxfilesize
int
キャッシュする個々のファイルの最大サイズ (キロバイト単位) を指定します。 この大きさを超えるサイズのファイルはキャッシュされません。 この設定は、ファイルにのみ適用されます。
wincache.ocenabled
bool
このオプションは 2.0.0.0 で削除されました。
opcode キャッシュ機能を有効あるいは無効にします。
wincache.ocenabledfilter
string
opcode キャッシュ有効あるいは無効にする IIS ウェブサイト識別子の一覧を、
カンマ区切りで指定します。この設定は wincache.ocenabled
との組み合わせで機能します。
wincache.ocenabled が 1 の場合は、
wincache.ocenabledfilter に指定したサイトの opcode キャッシュを無効にします。
wincache.ocenabled が 0 の場合は、
wincache.ocenabledfilter に指定したサイトの opcode キャッシュを有効にします。
このオプションは 2.0.0.0 で削除されました。
wincache.ocachesize
int
このオプションは 2.0.0.0 で削除されました。
opcode キャッシュに割り当てる最大メモリ容量 (メガバイト単位) を指定します。 キャッシュされた opcode の総容量がこの設定値を超えると、 いちばん古い opcode から順に opcode キャッシュから取り除かれます。 opcode キャッシュのサイズは、少なくともファイルキャッシュの三倍以上でなければならないことに注意しましょう。 そうなっていなければ、opcode キャッシュのサイズが自動的に拡張されます。
wincache.filecount
int
この拡張モジュールがどれくらいの数のファイルをキャッシュすることを想定しているのかを指定し、 起動時に適切なサイズのメモリを確保できるようにします。ファイルの数がこの設定値を超えると、 WinCache は必要に応じてさらにメモリを確保します。
wincache.chkinterval
int
ファイルの変更チェックとそれに伴うキャッシュの更新を何秒間隔で行うかを指定します。 0 にすると、キャッシュの更新機能が無効になります。 その場合は、キャッシュエントリが scavenger で削除されたり IIS アプリケーションプールがリサイクルされたり wincache_refresh_if_changed 関数がコールされたりしない限り ファイルの変更がキャッシュに反映されなくなります。
wincache.ttlmax
int
未使用状態のキャッシュエントリの最大生存期間 (秒単位) を定義します。 これを 0 にすると、キャッシュの scavenger を無効にします。 そのため、IIS ワーカープロセスが生き続ける限りキャッシュエントリは削除されなくなります。
wincache.enablecli
bool
PHP がコマンドライン (CLI) モードで動いているときのキャッシュを有効にするかどうかを設定します。
wincache.ignorelist
string
この拡張モジュールでキャッシュをしないファイルの一覧を定義します。 ファイルリストにはファイル名のみを指定し、パイプ記号 "|" で区切ります。
例1 wincache.ignorelist の例
wincache.ignorelist = "index.php|misc.php|admin.php"
wincache.namesalt
string
この拡張モジュールが使うオブジェクトを共有メモリに格納する際に、 そのオブジェクトの名前に使う文字列を定義します。 IIS ワーカープロセス内の別のアプリケーションとの間で名前の衝突を起こさないようにするために、 これを使います。namesalt 文字列の長さは最大 8 文字までです。
wincache.ucenabled
bool
ユーザーキャッシュ機能を有効あるいは無効にします。
wincache.ucachesize
int
ユーザーキャッシュに割り当てる最大メモリ容量 (メガバイト単位) を指定します。 ユーザーキャッシュに格納された変数のサイズがこの設定値を超えると、 いちばん古い変数から順にキャッシュから取り除かれます。
wincache.scachesize
int
セッションキャッシュに割り当てる最大メモリ容量 (メガバイト単位) を指定します。 セッションキャッシュに格納されたデータのサイズがこの設定値を超えると、 いちばん古いデータから順にキャッシュから取り除かれます。
wincache.rerouteini
string
このオプションは 1.3.7 で削除されました。1.3.7 以降で同様の機能を使うには、wincache.reroute_enabled を参照ください。
reroute.ini ファイルへの絶対パスあるいは相対パスを指定します。 このファイルには、同等の WinCache 関数で実装を置き換える PHP 関数の一覧を記述します。 相対パスで指定した場合は、php-cgi.exe の場所を基準としたパスとみなします。
wincache.reroute_enabled
bool
ファイルキャッシュを用いたファイル入出力関数群のリルートを有効あるいは無効にします。
wincache.srwlocks
bool
このオプションは 2.0.0.0 で削除されました。
共有のリーダーロック/ライターロックを有効あるいは無効にします。WinCache におけるデッドロックのトラブルシューティングの際には、無効にしておくと便利です。
wincache.filemapdir
string
WinCache が共有メモリセグメント用の一時ファイルを格納するために使うディレクトリへの絶対パスを指定します。
このディレクトリはローカルマシン上のものでなければいけません。ネットワークファイルシステム上のディレクトリは使えません。
ディレクトリを指定しなかった場合は、WinCache は Windows System Page File をすべての共有メモリセグメント用に使います。