2010-10-06 2 views
2

Я пытаюсь использовать такую ​​функцию, как apc.filter в APC.But все, что я делал, не работалоapc.filter в APC

Есть две задачи, которые я должен сделать.

1) Необходимо включить 1 каталог для caching.My кода в apc.ini

apc.cache by default Off 
apc.filter = "+/path1/.*" 

Такой вариант не суммируется и не work.It по-прежнему кэширования

2) Необходимость Exlude каталоги 3 на сервере, не должно быть в кэше, например, мой код в apc.ini для такой задачи

apc.cache by default On 

apc.filter = "-/path1/path2/.*, 
apc.filter = "-/path3/path4/.*, 
apc.filter = "-/path5/path6/.*" 

Может кто-нибудь помочь мне с этим? плз

ответ

5

apc.filter не работает для абсолютного пути http://www.php.net/manual/en/apc.configuration.php#ini.apc.filters

Вы можете попробовать включить/отключить АРС для конкретной папки с помощью .htaccess директивы.

В моем случае мне нужно отключить кэш APC для всего сайта, поэтому я ставлю следующее в корневой .htaccess:

php_flag apc.cache_by_default Off

И это отлично работает.

1

Я думаю, что вы сделали опечатку: это apc.filters не apc.filter

Для примера того, что вы пытаетесь достичь:

apc.filters = /path1/path2/.*,/path3/path4/.*,/path5/path6/.* 

должен сделать трюк, с для кеша по умолчанию установлено значение Вкл.

0

Я хотел сделать то же самое для своей среды разработки. Поскольку код производства и разработки был на том же сервере, мне нужен способ не кэшировать «тестовый» каталог. Я попытался с помощью

apc.filters -/my loc/my_test/.*,-/full_path/my_test/.* 

Но это не работает. Самым простым способом исправить это изменить .htaccess в каталоге, который вы хотите заблокировать кэшируются

<IfModule mod_php5.c>php_flag apc.cache_by_default Off</IfModule> 

И это прекрасно работает. :)