Apc.filters por caminho?

Como eu usaria o parâmetro apc.filters no cache do APcode APC para não armazenar em cache determinados caminhos? Por exemplo, eu quero que o armazenamento em cache seja ativo para qualquer coisa sob o caminho:

“/ var / www / vhosts”

e excluir caminhos como

“/ usr / share / psa-horde /”

Eu tentei usar

apc.cache_by_default = 0 apc.filters = "+/var/www/vhosts" 

e

 apc.cache_by_default = 1 apc.filters = "-/usr/share/psa-horde/" 

Mas nem trabalhou como eu esperava.

http://www.php.net/manual/en/apc.configuration.php#ini.apc.filters

O filtro deveria ser algo mais como “+ / var / www / vhosts / *” (observe o caractere curinga)? Receio que isso não seja possível por causa do funcionamento dos filtros:

Observe que o nome do arquivo usado para correspondência é o passado para include / exigir, e não o caminho absoluto.

Alguma idéia ou configuração de amostra?

    O filtro deve ser uma lista separada por vírgulas de expressões regulares estendidas POSIX. Eu acredito que o que você tem na segunda tentativa corresponde apenas ao caminho exato / usr / share / psa-horde /, e não / usr / share / psa-horde / something ou /usr/share/psa-horde/anotherfile.php

    O seguinte deve combinar qualquer coisa na sub-pasta

     apc.filters = "-/usr/share/psa-horde/.*" 

    Uma resposta muito tardia, mas apenas no caso de outra pessoa ter esse problema (acho que você pode estar executando uma checkbox Plesk, e é por isso que eu encontrei isso).

    Sua melhor opção é ter APC na lista de módulos php carregados, mas ter apc.enabled 0 no master php.ini. Então, para cada vhost que você deseja que ele seja ativado, adicione php_admin_value apc.enabled 1 para habilitar para cada um. Poderia ser um problema se você tiver uma tonelada de sites, mas funciona apenas por alguns.

    A solução da pnomolos funciona se você tiver vhosts diferentes, mas não funcionará se você tiver apenas uma e quiser controlar o cache de forma verdadeiramente por diretório.

    Este relatório de erro aponta para a melhor solução: https://bugs.php.net/bug.php?id=57064

    Ative o APC e defina apc.cache_by_default para 0 no php.ini . Na sua configuração do Apache, você pode usar php_admin_setting apc.cache_by_default 1 dentro de um bloco de Directory para habilitar o cache do APC exatamente onde você precisa.

    Como o apc.filters funciona com expressões regulares, o caminho do curinga deve ser especificado como apc.filters = “- / usr / share / psa-horde /.*”

    Usava:

     apc.filters="-/eliminate/path1/,-/eliminate/path2/,+/add/to/cache/"