[Editor's note: fixed typo]
Just a quick note about something I've discovered through debugging a recent WinCache issue:
If you change the wincache.scachesize value, you MUST shutdown all php-cgi.exe instances and manually delete the wincache_session_*.tmp file.
The wincache_session_*.tmp file will in the directory specified by session.save_path in the php.ini file.
An example session file name would look like: wincache_session_1_565779.tmp
If you don't delete this file, you will run into corruption in cross-process shared memory segments for the WinCache session handler. These will show up as 500 errors from your IIS server.
Thx!
--E.Конфигурација во време на извршување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Конфигурација во време на извршување
Референца за `wincache.configuration.php` со подобрена типографија и навигација.
Конфигурација во време на извршување
Поведението на овие функции е под влијание на поставките во 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.fcenabledbool - Овозможува или оневозможува функционалност на кешот на датотеки.
-
wincache.fcenabledfilterstring -
Дефинира список разделен со запирки од идентификатори на веб-локации на IIS каде што кешот на датотеки треба да биде овозможен или оневозможен. Оваа поставка работи заедно со
wincache.fcenabled: акоwincache.fcenabledе поставено на 1, тогаш локациите наведени воwincache.fcenabledfilterќе го имаат кешот на датотеки исклучен; акоwincache.fcenabledе поставено на 0, тогаш локациите наведени воwincache.fcenabledfilterќе го имаат кешот на датотеки вклучен. -
wincache.fcachesizeint - Дефинира максимална големина на меморија (во мегабајти) што е доделена за кешот на датотеки. Ако вкупната големина на сите кеширани датотеки го надминува вредноста наведена во оваа поставка, тогаш повеќето застарени датотеки ќе бидат отстранети од кешот на датотеки.
-
wincache.fcndetectbool -
Enables or disables the file change notification detection functionality. If file change notification is supported then it will be used to refresh the opcode and file cache entries as soon as the corresponding files are modified on a file system. If file change notification is not supported, for example when using network file shares, then wincache will poll for file changes at regular time intervals specified by
wincache.chkinterval. -
wincache.maxfilesizeint - Овозможува или оневозможува функционалност за откривање на промени во датотеките. Ако е поддржано известување за промени во датотеките, тогаш ќе се користи за освежување на opcode и записи во кешот на датотеките веднаш штом соодветните датотеки се изменат на систем на датотеки. Ако известувањето за промени во датотеките не е поддржано, на пример при користење на мрежни шери на датотеки, тогаш wincache ќе ги анкетира промените во датотеките во редовни временски интервали наведени од
-
wincache.ocenabledbool -
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваод 2.0.0.0
Ја дефинира максималната дозволена големина (во килобајти) за кеширање на една датотека. Ако големината на датотеката го надмине наведениот вредност, датотеката нема да биде кеширана. Оваа поставка се однесува само на кешот на датотеките. REMOVED Оваа опција е
-
wincache.ocenabledfilterstring -
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваОвозможува или оневозможува функционалност за кеширање на opcode
Ја дефинира максималната дозволена големина (во килобајти) за кеширање на една датотека. Ако големината на датотеката го надмине наведениот вредност, датотеката нема да биде кеширана. Оваа поставка се однесува само на кешот на датотеките. REMOVED Оваа опција е
wincache.ocenabled: акоwincache.ocenabledе поставено на 1, тогаш локациите наведени воwincache.ocenabledfilterДефинира список со запирки од идентификатори на веб-локации на IIS каде што треба да се овозможи или оневозможи кешот на opcode. Оваа поставка работи во комбинација соwincache.ocenabledе поставено на 0, тогаш локациите наведени воwincache.ocenabledfilterќе има исклучен кеш за opcode; ако -
wincache.ocachesizeint -
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваќе има вклучен кеш за opcode.
Ја дефинира максималната дозволена големина (во килобајти) за кеширање на една датотека. Ако големината на датотеката го надмине наведениот вредност, датотеката нема да биде кеширана. Оваа поставка се однесува само на кешот на датотеките. REMOVED Оваа опција е
-
wincache.filecountint - Дефинира максимална големина на меморија (во мегабајти) што е распределена за кешот на opcode. Ако големината на кешираниот opcode го надмине наведениот вредност, тогаш најстариот opcode ќе биде отстранет од кешот. Забележете дека големината на кешот на opcode мора да биде најмалку 3 пати поголема од големината на кешот на датотеките. Ако тоа не е случај, големината на кешот на opcode автоматски ќе се зголеми.
-
wincache.chkintervalint - Дефинира колку датотеки се очекува да бидат кеширани од екстензијата, така што соодветна големина на меморијата е распределена при стартување. Ако бројот на датотеки го надмине наведениот вредност, WinCache повторно ќе распредели повеќе меморија по потреба.
-
wincache.ttlmaxint - Дефинира колку често (во секунди) екстензијата проверува за промени во датотеките за да го освежи кешот. Поставувањето на 0 ќе го оневозможи освежувањето на кешот. Промените во датотеките нема да се рефлектираат во кешот освен ако записот во кешот за таа датотека не е отстранет од чистачот или ако пул за апликации на IIS не е рециклиран или ако не е повикана функцијата wincache_refresh_if_changed.
-
wincache.enableclibool - Дефинира максимално време на живот (во секунди) за запис во кешот без да се користи. Поставувањето на 0 ќе го оневозможи чистачот на кешот, така што записите во кешот никогаш нема да бидат отстранети од кешот за време на животниот век на работниот процес на IIS.
-
wincache.ignoreliststring -
Дефинира дали кеширањето е овозможено кога PHP работи во режим на командна линија (CLI).
Пример #1
wincache.ignorelistexamplewincache.ignorelist = "index.php|misc.php|admin.php"
-
wincache.namesaltstring - Дефинира список на датотеки што не треба да бидат кеширани од екстензијата. Списокот на датотеки е наведен со користење само имиња на датотеки, разделени со симболот за цевка - "|".
-
wincache.ucenabledbool - Дефинира стринг што ќе се користи при именување на објекти специфични за екстензијата што се чуваат во споделена меморија. Ова се користи за да се избегнат конфликти што може да бидат предизвикани ако други апликации во работниот процес на IIS се обидат да пристапат до споделена меморија. Должината на стрингот namesalt не може да надмине 8 знаци.
-
wincache.ucachesizeint - Овозможува или оневозможува функционалност за кеширање на корисникот.
-
wincache.scachesizeint - Дефинира максимална големина на меморија во мегабајти што е распределена за кешот на корисникот. Ако вкупната големина на променливите складирани во кешот на корисникот го надмине наведениот вредност, тогаш најстарите променливи ќе бидат отстранети од кешот.
-
wincache.rerouteinistring -
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваSpecifies an absolute or a relateve path to the reroute.ini file that contains the list of PHP functions whose implementation should be replaced with the WinCache function equivalents. If a relative path is specified then it is assumed to be relative to the location of php-cgi.exe file.
Ја дефинира максималната дозволена големина (во килобајти) за кеширање на една датотека. Ако големината на датотеката го надмине наведениот вредност, датотеката нема да биде кеширана. Оваа поставка се однесува само на кешот на датотеките. REMOVED Дефинира максимална големина на меморија во мегабајти што е распределена за кешот на сесијата. Ако вкупната големина на податоците складирани во кешот на сесијата го надмине наведениот вредност, тогаш најстарите податоци ќе бидат отстранети од кешот.
wincache.reroute_enabledод 1.3.7. Види -
wincache.reroute_enabledbool - Определува апсолутна или релативна патека до датотеката reroute.ini што ги содржи списокот на PHP функции чија имплементација треба да се замени со еквивалентни WinCache функции. Ако е специфицирана релативна патека, се претпоставува дека е релативна до локацијата на датотеката php-cgi.exe.
-
wincache.srwlocksbool -
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваОвозможува или оневозможува пренасочување на одредени функции за влез/излез на датотеки преку кешот на датотеки.
Ја дефинира максималната дозволена големина (во килобајти) за кеширање на една датотека. Ако големината на датотеката го надмине наведениот вредност, датотеката нема да биде кеширана. Оваа поставка се однесува само на кешот на датотеките. REMOVED Оваа опција е
-
wincache.filemapdirstring - Овозможува или оневозможува употреба на брави за читање/запишување. Оневозможувањето е корисно при решавање проблеми со блокирање во WinCache. Определува апсолутна патека до директориум каде WinCache ќе ги чува привремените датотеки што се користат за сегменти на меморијата. Овој директориум мора да биде на локалната машина, а не на мрежен систем на датотеки.
Белешки од корисници 2 забелешки
wincache.php showed in Session Cache Overview that the Available Memory was returning NAN B.
A Google search returned nothing specific to this.
Stopping the App Pool and Deleting the *session*.tmp file in the windows temp directory solved this issue. (Thanks to previous noter)