2012-07-10 7 views
1

Actuellement, APC est installé et fonctionne sur un serveur CentOs, il fonctionne correctement, mais il met actuellement tous les fichiers en cache dans tous les répertoires.Activer APC uniquement pour des répertoires spécifiques?

Comment est-ce que je peux changer les arrangements de sorte qu'il ne met en cache que les répertoires que je choisis? Par exemple, je pourrais activer un répertoire en utilisant .htaccess?

Les seuls paramètres APC J'ai actuellement dans mon php.ini sont les suivantes:

extension = apc.so 
apc.enabled = 1 
apc.shm_size = 30 

Répondre

1

apc.filters chaîne

Une liste séparée par des virgules d'expressions rationnelles POSIX. Si un motif correspond au nom de fichier source, le fichier ne sera pas mis en cache. Notez que le nom de fichier utilisé pour la correspondance est celui passé pour inclure/require, pas le chemin absolu. Si le premier caractère de l'expression est a + alors l'expression sera additive dans le sens où tout fichier correspondant à l'expression sera mis en cache, et si le premier caractère est a - alors tout élément correspondant ne sera pas mis en cache. Le cas est le cas par défaut, donc il peut être laissé.

Ceci est un paramètre de PHP_INI_SYSTEM de sorte que vous ne pouvez le faire sur une base dir si vous êtes sous cgi/suEXEC/suPHP et pouvez configurer votre php.ini sur une base dir.

+0

Donc '/ home/user ([^ 6]) /.*' empêcherait tout en dehors de '/ home/user6 /' d'être mis en cache? – Dan

+1

Que diriez-vous de '/ home/user63/fred.php'? Donc non. Cependant, en regardant la source (suis-je triste de l'avoir sur mon PC), APC utilise le moteur PHP PCRE de sorte que vous devriez être capable de faire des assertions de lookahead négatives telles que '^ (?!/Home/user6 /).*' – TerryE

1

Vous pouvez utiliser apc.filters dire APC pour ne pas mettre en cache certains fichiers/répertoires. La correspondance est effectuée par l'expression régulière.

Questions connexes