Поведение функций зависит от установок в файле 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
Включает/отключает функциональность оповещения об изменении файла. Если функционал
оповещения об изменениях файла поддерживается, то он может быть использован для
обновления кеша опкодов и файлового кеша при получении соответствующих
оповещений. Если подобный механизм не поддерживается, например, при использовании
сетевых папок, wincache будет самостоятельно проверять файлы на предмет
изменения через заданные в настройке wincache.chkinterval
интервалы времени.
wincache.maxfilesize
int
Определяет максимальный размер одного файла (в килобайтах) для файлового кеша. Если размер файла превышает заданное значение, то он не будет закеширован. Данная настройка применяется только к файловому кешу.
wincache.ocenabled
bool
Эта опция была УДАЛЕНА в версии 2.0.0.0
Включает/отключает кеширование опкодов
wincache.ocenabledfilter
string
Эта опция была УДАЛЕНА в версии 2.0.0.0
Определяет список идентификаторов IIS веб-серверов, разделённых запятой,
для которых должно быть разрешено/запрещено кеширование опкодов.
Эта настройка работает в паре с wincache.ocenabled: если
wincache.ocenabled установлено в 1, то для серверов,
перечисленных в wincache.ocenabledfilter файловое кеширование
будет отключено; если wincache.ocenabled установлено как 0, то
для серверов, перечисленных в wincache.ocenabledfilter
файловое кеширование будет разрешено.
wincache.ocachesize
int
Эта опция была УДАЛЕНА в версии 2.0.0.0
Определяет максимальный размер памяти (в мегабайтах) для кеша опкодов. Когда размер всех закешированных опкодов превысит это значение, из кеша будут удалены самые устаревшие из них. Обратите внимание, что кеш опкодов должен быть как минимум в 3 раза больше файлового кеша. Если это не так, то размер кеша опкодов будет автоматически увеличен.
wincache.filecount
int
Определяет, сколько примерно файлов будет закешировано модулем, чтобы при старте был выделен соответствующий кусок памяти. Если количество файлов превысит заданное значение, то WinCache произведёт переаллокацию памяти.
wincache.chkinterval
int
Определяет насколько часто (в секундах) модуль будет проверять файлы на предмет их изменения для обновления кешей. Значение 0 отключает данный функционал. Изменения файлов не будут отражены в кеше до тех пор, пока закешированная запись не будет удалена из кеша сборщиком устаревших записей, либо пока не будет переработан пул приложений IIS, либо не будет вызвана функция wincache_refresh_if_changed.
wincache.ttlmax
int
Определяет максимальное время (в секундах) невостребованности для записи в кеше. Установка в 0 отключает процесс удаления устаревших записей, что приведёт к тому, что запись будет лежать в кеше пока сервер IIS не будет остановлен.
wincache.enablecli
bool
Определяет, разрешено ли кеширование при работе PHP из командной строки (CLI).
wincache.ignorelist
string
Определяет список файлов, которые не нужно кешировать. Указываются только имена файлов. Символ разделитель - вертикальная черта "|".
Пример #1 Пример использования wincache.ignorelist
wincache.ignorelist = "index.php|misc.php|admin.php"
wincache.namesalt
string
Определяет строку, которая будет использоваться при именовании объектов, помещаемых в разделяемую память. Это необходимо для предотвращения коллизий, когда несколько процессов работают с разделяемой памятью. Длина данной строки не должна превышать 8 символов.
wincache.ucenabled
bool
Включает/отключает пользовательский кеш.
wincache.ucachesize
int
Определяет максимальный размер памяти (в мегабайтах) для пользовательского кеша. Когда размер всех закешированных переменных превысит это значение, из кеша будут удалены самые устаревшие переменные.
wincache.scachesize
int
Определяет максимальный размер памяти (в мегабайтах) для сессионного кеша. Когда размер всех закешированных данных превысит это значение, из кеша будут удалены самые устаревшие данные.
wincache.rerouteini
string
Эта опция была УДАЛЕНА в версии 1.3.7.
Начиная с 1.3.7. вместо неё используйте wincache.reroute_enabled.
Задаёт абсолютный или относительный путь к reroute.ini, который содержит список функций PHP, чья реализация должна быть подменена реализацией из модуля WinCache. Если задан относительный путь, то он будет разрешаться относительно местоположения файла php-cgi.exe.
wincache.reroute_enabled
bool
Включает/отключает перенаправление некоторых функций файлового ввода/вывода для работы через файловый кеш.
wincache.srwlocks
bool
Эта опция была УДАЛЕНА в версии 2.0.0.0
Включает/отключает использование разделяемых блокировок чтения/записи. Выключение полезно при отладке ситуаций взаимных блокировок в WinCache.
wincache.filemapdir
string
Задаёт абсолютный путь к директории, где WinCache будет держать временные файлы для сегментов разделяемой памяти.
Эта директория должна располагаться на локальной машине и ни в коем случае не на сетевой файловой системе.
Если директория не указана, то WinCache будет использовать Windows System Page File.