Настройка во время выполнения
Поведение этих функций зависит от установок в 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_SYSTEM | 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 |
Краткое разъяснение конфигурационных директив.
-
wincache.fcenabledbool - Включает/отключает файловое кеширование.
-
wincache.fcenabledfilterstring -
Определяет список идентификаторов IIS веб-серверов, разделенных запятой,
для которых должно быть разрешено/запрещено файловое кеширование.
Эта настройка работает в паре с
wincache.fcenabled: еслиwincache.fcenabledустановлено в 1, то для серверов, перечисленных вwincache.fcenabledfilterфайловое кеширование будет отключено; еслиwincache.fcenabledустановлено как 0, то для серверов, перечисленных вwincache.fcenabledfilterфайловое кеширование будет включено. -
wincache.fcachesizeint - Определяет максимальный размер памяти (в мегабайтах) для файлового кеша. Когда размер всех закешированных файлов превысит это значение, из кеша будут удалены самые устаревшие файлы.
-
wincache.fcndetectbool -
Включает/отключает функционал оповещения об изменении файла. Если функционал
оповещения об изменениях файла поддерживается, то он может быть использован для
обновления кеша опкодов и файлового кеша при получении соответствующих
оповещений. Если подобный механизм не поддерживается, например, при использовании
сетевых папок, wincache будет самостоятельно проверять файлы на предмет
изменения через заданные в настройке
wincache.chkintervalинтервалы времени. -
wincache.maxfilesizeint - Определяет максимальный размер одного файла (в килобайтах) для файлового кеша. Если размер файла превышает заданное значение, то он не будет закеширован. Данная настройка применяется только к файловому кешу.
-
wincache.ocenabledbool -
ВниманиеВключает/отключает кеширование опкодов
Эта опция была УДАЛЕНА в версии 2.0.0.0
-
wincache.ocenabledfilterstring -
ВниманиеОпределяет список идентификаторов IIS веб-серверов, разделенных запятой, для которых должно быть разрешено/запрещено кеширование опкодов. Эта настройка работает в паре с
Эта опция была УДАЛЕНА в версии 2.0.0.0
wincache.ocenabled: еслиwincache.ocenabledустановлено в 1, то для серверов, перечисленных вwincache.ocenabledfilterфайловое кеширование будет отключено; еслиwincache.ocenabledустановлено как 0, то для серверов, перечисленных вwincache.ocenabledfilterфайловое кеширование будет разрешено. -
wincache.ocachesizeint -
ВниманиеОпределяет максимальный размер памяти (в мегабайтах) для кеша опкодов. Когда размер всех закешированных опкодов превысит это значение, из кеша будут удалены самые устаревшие из них. Обратите внимание, что кеш опкодов должен быть как минимум в 3 раза больше файлового кеша. Если это не так, то размер кеша опкодов будет автоматически увеличен.
Эта опция была УДАЛЕНА в версии 2.0.0.0
-
wincache.filecountint - Определяет, сколько примерно файлов будет закешировано модулем, чтобы при старте был выделен соответствующий кусок памяти. Если количество файлов превысит заданное значение, то WinCache произведет переаллокацию памяти.
-
wincache.chkintervalint - Определяет насколько часто (в секундах) модуль будет проверять файлы на предмет их изменения для обновления кешей. Значение 0 отключает данный функционал. Изменения файлов не будут отражены в кеше до тех пор, пока закешированная запись не будет удалена из кеша сборщиком устаревших записей, либо пока не будет переработан пул приложений IIS, либо не будет вызвана функция wincache_refresh_if_changed.
-
wincache.ttlmaxint - Определяет максимальное время (в секундах) невостребованности для записи в кеше. Установка в 0 отключает процесс удаления устаревших записей, что приведет к тому, что запись будет лежать в кеше пока сервер IIS не будет остановлен.
-
wincache.enableclibool - Определяет, разрешено ли кеширование при работе PHP из командной строки (CLI).
-
wincache.ignoreliststring -
Определяет список файлов, которые не нужно кешировать. Указываются только имена файлов. Символ разделитель - вертикальная черта "|".
Пример #1 Пример использования
wincache.ignorelistwincache.ignorelist = "index.php|misc.php|admin.php"
-
wincache.namesaltstring - Определяет строку, которая будет использоваться при именовании объектов, помещаемых в разделяемую память. Это необходимо для предотвращения коллизий, когда несколько процессов работают с разделяемой памятью. Длина данной строки не должна превышать 8 символов.
-
wincache.ucenabledbool - Включает/отключает пользовательский кеш.
-
wincache.ucachesizeint - Определяет максимальный размер памяти (в мегабайтах) для пользовательского кеша. Когда размер всех закешированных переменных превысит это значение, из кеша будут удалены самые устаревшие переменные.
-
wincache.scachesizeint - Определяет максимальный размер памяти (в мегабайтах) для сессионного кеша. Когда размер всех закешированных данных превысит это значение, из кеша будут удалены самые устаревшие данные.
-
wincache.rerouteinistring -
ВниманиеЗадает абсолютный или относительный путь к reroute.ini, который содержит список функций PHP, чья реализация должна быть подменена реализацией из модуля WinCache. Если задан относительный путь, то он будет разрешаться относительно местоположения файла php-cgi.exe.
Эта опция была УДАЛЕНА в версии 1.3.7. Начиная с 1.3.7. вместо нее используйте
wincache.reroute_enabled. -
wincache.reroute_enabledbool - Включает/отключает перенаправление некоторых функций файлового ввода/вывода для работы через файловый кеш.
-
wincache.srwlocksbool -
ВниманиеВключает/отключает использование разделяемых блокировок чтения/записи. Выключение полезно при отладке ситуаций взаимных блокировок в WinCache.
Эта опция была УДАЛЕНА в версии 2.0.0.0
-
wincache.filemapdirstring - Задает абсолютный путь к директории, где WinCache будет держать временные файлы для сегментов разделяемой памяти. Эта директория должна располагаться на локальной машине и ни в коем случае не на сетевой файловой системе. Если директория не указана, то WinCache будет использовать Windows System Page File.