International PHP Conference Munich 2025

Configurações em Execução

O comportamento destas funções é afetado pelas configurações do php.ini.

A tabela a seguir lista e explica as configurações fornecidas pela extensão WinCache:

Opções de configuração do WinCache
Nome Padrão Mínimo Máximo Modificável Registro de Alterações
wincache.fcenabled "1" "0" "1" INI_ALL Disponível a partir do WinCache 1.0.0
wincache.fcenabledfilter "NULL" "NULL" "NULL" INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.fcachesize "24" "5" "255" INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.fcndetect "1" "0" "1" INI_SYSTEM Disponível a partir do WinCache 1.1.0
wincache.maxfilesize "256" "10" "2048" INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.ocenabled "1" "0" "1" INI_ALL Disponível a partir do WinCache 1.0.0. Removida a partir do 2.0.0.0
wincache.ocenabledfilter "NULL" "NULL" "NULL" INI_SYSTEM Disponível a partir do WinCache 1.0.0. Removida a partir do 2.0.0.0
wincache.ocachesize "96" "15" "255" INI_SYSTEM Disponível a partir do WinCache 1.0.0. Removida a partir do 2.0.0.0
wincache.filecount "4096" "1024" "16384" INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.chkinterval "30" "0" "300" INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.ttlmax "1200" "0" "7200" INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.enablecli 0 0 1 INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.ignorelist NULL NULL NULL INI_ALL Disponível a partir do WinCache 1.0.0
wincache.namesalt NULL NULL NULL INI_SYSTEM Disponível a partir do WinCache 1.0.0
wincache.ucenabled 1 0 1 INI_SYSTEM Disponível a partir do WinCache 1.1.0
wincache.ucachesize 8 5 85 INI_SYSTEM Disponível a partir do WinCache 1.1.0
wincache.scachesize 8 5 85 INI_SYSTEM Disponível a partir do WinCache 1.1.0
wincache.rerouteini NULL NULL NULL INI_SYSTEM Disponível a partir do WinCache 1.2.0. Removida a partir do 1.3.7
wincache.reroute_enabled 1 0 1 INI_SYSTEM|INI_PERDIR Disponível a partir do WinCache 1.3.7
wincache.srwlocks 1 0 1 INI_SYSTEM Disponível a partir do WinCache 1.3.6.3. Removida a partir do 2.0.0.0
wincache.filemapdir NULL NULL NULL INI_SYSTEM Disponível a partir do WinCache 1.3.7.4
Para mais detalhes e definições dos modos INI_*, consulte os Onde uma configuração deve ser definida.

Aqui está uma breve explicação das diretivas de configuração.

wincache.fcenabled bool
Habilita ou desabilita a funcionalidade de cache de arquivos.
wincache.fcenabledfilter string
Define uma lista separada por vírgulas de identificadores de sites do IIS onde o cache de arquivos deve ser habilitado ou desabilitado. Esta configuração funciona em conjunto com wincache.fcenabled: se wincache.fcenabled for definido como 1, os sites listados em wincache.fcenabledfilter terão o cache de arquivos desativado; se wincache.fcenabled for definido como 0, os sites listados em wincache.fcenabledfilter terão o cache de arquivos ativado.
wincache.fcachesize int
Define o tamanho máximo de memória (em megabytes) alocado para o cache de arquivos. Se o tamanho total de todos os arquivos em cache exceder o valor especificado nesta configuração, a maioria dos arquivos obsoletos será removida do cache de arquivos.
wincache.fcndetect bool
Habilita ou desabilita a funcionalidade de detecção de notificação de alteração de arquivo. Se a notificação de alteração de arquivo for suportada, ela será usada para atualizar o opcode e as entradas de cache de arquivos assim que os arquivos correspondentes forem modificados em um sistema de arquivos. Se a notificação de alteração de arquivo não for suportada, por exemplo, ao usar compartilhamentos de arquivos de rede, o wincache verificará as alterações de arquivo em intervalos regulares especificados por wincache.chkinterval.
wincache.maxfilesize int
Define o tamanho máximo permitido (em quilobytes) para que um único arquivo seja armazenado em cache. Se o tamanho de um arquivo exceder o valor especificado, ele não será armazenado em cache. Esta configuração se aplica apenas ao cache de arquivos.
wincache.ocenabled bool
Aviso

Esta opção foi REMOVIDA a partir do 2.0.0.0

Habilita ou desabilita a funcionalidade de cache do opcode
wincache.ocenabledfilter string
Aviso

Esta opção foi REMOVIDA a partir do 2.0.0.0

Define uma lista separada por vírgulas de identificadores de sites do IIS onde o cache de opcode deve ser habilitado ou desabilitado. Esta configuração funciona em conjunto com wincache.ocenabled: se wincache.ocenabled for definido como 1, os sites listados no wincache.ocenabledfilter terão o cache de opcode desativado; se wincache.ocenabled for definido como 0, os sites listados no wincache.ocenabledfilter terão o cache de opcode ativado.
wincache.ocachesize int
Aviso

Esta opção foi REMOVIDA a partir do 2.0.0.0

Define o tamanho máximo de memória (em megabytes) alocado para o cache do opcode. Se o tamanho do opcode armazenado em cache exceder o valor especificado, a maior parte do opcode obsoleto será removida do cache. Observe que o tamanho do cache do opcode deve ser pelo menos 3 vezes maior que o tamanho do cache do arquivo. Caso contrário, o tamanho do cache do opcode será aumentado automaticamente.
wincache.filecount int
Define quantos arquivos devem ser armazenados em cache pela extensão, para que o tamanho de memória apropriado seja alocado na inicialização. Se o número de arquivos exceder o valor especificado, o WinCache realocará mais memória conforme necessário.
wincache.chkinterval int
Define a frequência (em segundos) em que a extensão verifica se há alterações no arquivo para atualizar o cache. Definir como 0 desabilitará a atualização do cache. As alterações no arquivo não serão refletidas no cache, a menos que a entrada de cache para esse arquivo seja removida pelo scavenger ou o pool de aplicativos do IIS seja reciclado ou a função wincache_refresh_if_changed seja chamada.
wincache.ttlmax int
Define o tempo máximo de vida (em segundos) para uma entrada em cache sem ser utilizada. Definir como 0 desabilitará a limpeza de cache, de forma que as entradas em cache nunca serão removidas do cache durante o tempo de vida do processo de trabalho do IIS.
wincache.enablecli bool
Define se o cache está habilitado quando o PHP está sendo executado no modo de linha de comando (CLI).
wincache.ignorelist string

Define uma lista de arquivos que não devem ser armazenados em cache pela extensão. A lista de arquivos é especificada usando apenas nomes de arquivos, separados pelo símbolo de barra vertical - "|".

Exemplo #1 Exemplo de wincache.ignorelist

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Define uma string que será usada ao nomear a extensão de objetos específicos armazenados na memória compartilhada. Isso é usado para evitar conflitos que podem ser causados ​​se outros aplicativos dentro de um processo de trabalho do IIS tentarem acessar a memória compartilhada. O comprimento da string namesalt não pode exceder 8 caracteres.
wincache.ucenabled bool
Habilita ou desabilita a funcionalidade de cache do usuário.
wincache.ucachesize int
Define o tamanho máximo de memória em megabytes alocado para o cache do usuário. Se o tamanho total das variáveis ​​armazenadas no cache do usuário exceder o valor especificado, as variáveis ​​mais obsoletas serão removidas do cache.
wincache.scachesize int
Define o tamanho máximo de memória em megabytes alocado para o cache de sessão. Se o tamanho total dos dados armazenados no cache de sessão exceder o valor especificado, os dados mais obsoletos serão removidos do cache.
wincache.rerouteini string
Aviso

Esta opção foi REMOVIDA a partir do 1.3.7. Veja wincache.reroute_enabled para funcionalidade similar a partir do 1.3.7.

Especifica um caminho absoluto ou relativo para o arquivo reroute.ini que contém a lista de funções PHP cuja implementação deve ser substituída pelos equivalentes da função WinCache. Se um caminho relativo for especificado então, presume-se que seja relativo à localização do arquivo php-cgi.exe.
wincache.reroute_enabled bool
Habilita ou desabilita o redirecionamento de determinadas funções de E/S de arquivo por meio do cache de arquivo.
wincache.srwlocks bool
Aviso

Esta opção foi REMOVIDA a partir do 2.0.0.0

Habilita ou desabilita o uso de bloqueios compartilhados de leitor/gravador. Desabilitar é útil na solução de condições de impasse no WinCache.
wincache.filemapdir string
Especifica um caminho absoluto para um diretório onde o WinCache armazenará os arquivos temporários usados ​​para segmentos de memória compartilhada. Este diretório deve estar na máquina local e não em um sistema de arquivos em rede. Se o diretório não for especificado, o WinCache usará o arquivo de paginação do sistema Windows para todos os segmentos de memória compartilhada.

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
1
ericsten at php dot net
10 years ago
[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.
up
0
software journalist
5 years ago
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)
To Top