Настройка во время выполнения
Поведение этих функций зависит от установок в 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.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 -
ВниманиеОпределяет список идентификаторов IIS веб-серверов, разделенных запятой, для которых должно быть разрешено/запрещено кеширование опкодов. Эта настройка работает в паре с
Эта опция была УДАЛЕНА в версии 2.0.0.0
wincache.ocenabled
: еслиwincache.ocenabled
установлено в 1, то для серверов, перечисленных вwincache.ocenabledfilter
файловое кеширование будет отключено; еслиwincache.ocenabled
установлено как 0, то для серверов, перечисленных вwincache.ocenabledfilter
файловое кеширование будет разрешено. -
wincache.ocachesize
int -
ВниманиеОпределяет максимальный размер памяти (в мегабайтах) для кеша опкодов. Когда размер всех закешированных опкодов превысит это значение, из кеша будут удалены самые устаревшие из них. Обратите внимание, что кеш опкодов должен быть как минимум в 3 раза больше файлового кеша. Если это не так, то размер кеша опкодов будет автоматически увеличен.
Эта опция была УДАЛЕНА в версии 2.0.0.0
-
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 -
ВниманиеЗадает абсолютный или относительный путь к reroute.ini, который содержит список функций PHP, чья реализация должна быть подменена реализацией из модуля WinCache. Если задан относительный путь, то он будет разрешаться относительно местоположения файла php-cgi.exe.
Эта опция была УДАЛЕНА в версии 1.3.7. Начиная с 1.3.7. вместо нее используйте
wincache.reroute_enabled
. -
wincache.reroute_enabled
bool - Включает/отключает перенаправление некоторых функций файлового ввода/вывода для работы через файловый кеш.
-
wincache.srwlocks
bool -
ВниманиеВключает/отключает использование разделяемых блокировок чтения/записи. Выключение полезно при отладке ситуаций взаимных блокировок в WinCache.
Эта опция была УДАЛЕНА в версии 2.0.0.0
-
wincache.filemapdir
string - Задает абсолютный путь к директории, где WinCache будет держать временные файлы для сегментов разделяемой памяти. Эта директория должна располагаться на локальной машине и ни в коем случае не на сетевой файловой системе. Если директория не указана, то WinCache будет использовать Windows System Page File.