実行時設定
php.ini
の設定により動作が変化します。
この表は、WinCache 拡張モジュールが提供する設定項目をまとめたものです。
名前 | デフォルト | 最小 | 最大 | 変更可能 | 変更履歴 |
---|---|---|---|---|---|
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | WinCache 1.0.0 以降で使用可能 |
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.fcachesize | "24" | "5" | "255" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | WinCache 1.1.0 以降で使用可能 |
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | WinCache 1.0.0 以降で使用可能、2.0.0.0 で削除 |
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能、2.0.0.0 で削除 |
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能、2.0.0.0 で削除 |
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | WinCache 1.0.0 以降で使用可能 |
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | WinCache 1.0.0 以降で使用可能 |
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | WinCache 1.1.0 以降で使用可能 |
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | WinCache 1.1.0 以降で使用可能 |
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | WinCache 1.1.0 以降で使用可能 |
wincache.rerouteini | NULL | NULL | NULL | PHP_INI_SYSTEM | WinCache 1.2.0 以降で使用可能。1.3.7 で削除。 |
wincache.reroute_enabled | 1 | 0 | 1 | PHP_INI_PERDIR | WinCache 1.3.7 以降で使用可能 |
wincache.srwlocks | 1 | 0 | 1 | PHP_INI_SYSTEM | WinCache 1.3.6.3 以降で使用可能、2.0.0.0 で削除 |
wincache.filemapdir | NULL | NULL | NULL | PHP_INI_SYSTEM | WinCache 1.3.7.4 以降で使用可能 |
PHP_INI_* モードの詳細および定義については どこで設定を行うのか を参照してください。 以下に設定ディレクティブに関する 簡単な説明を示します。
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 で削除されました。
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 をすべての共有メモリセグメント用に使います。