Comment utiliserai-je le paramètre APC.Filters dans la mise en cache d'opcode APC pour ne pas mettre en cache certains chemins? Par exemple, je veux que la mise en cache soit active pour quelque chose sous le chemin:
"/ var / www / vhosts" p>
et exclude des chemins tels que p>
"/ USR / Share / psa-horde / " p>
J'ai essayé d'utiliser p> et p> mais non plus Je m'attendais. P> http: / /www.php.net/manual/fr/apc.configuration.php#ini.apc.filters p> Si le filtre doit être quelque chose de plus comme "+ / var / www / vhosts / * "(Notez le caractère générique)? J'ai bien peur que ce n'était pas possible à cause de la façon dont les filtres fonctionnent: P> Notez que le nom de fichier utilisé pour
correspondant est celui qui est passé à
inclure / besoin, pas l'absolu
chemin. p>
blockQuote> des idées ou des configurations d'échantillons? p> p>
5 Réponses :
Le filtre doit être une liste séparée des virgules des expressions régulières étendues de POSIX. Je crois ce que vous avez dans la deuxième tentative ne correspond que le chemin exact / USR / Share / PSA-Horde /, et non / USR / Share / PSA-Horde / quelque chose ou /ReR/Share/psa-horde/anotherfile.php < p> Les éléments suivants doivent correspondre à tout problème dans le sous-dossier p>
Hmm, bon appel, mais je pense que cela ne fonctionne que pour le nom de fichier si le chemin complet a été utilisé dans l'instruction requis: "Notez que le nom de fichier utilisé pour la correspondance est celui qui est passé pour inclure / besoin, pas le chemin absolu."
par exemple. Essayé "- / var / www / vhosts / myhostname.com / svn / public / openx /.*" et les fichiers de ce répertoire sont toujours en cours de cache.
"Notez que le nom de fichier utilisé pour la correspondance est celui qui est passé à inclure / besoin, pas le chemin absolu." - de docs
Je ne comprends pas cette phrase exacte .. Quel chemin devrait-il utiliser au lieu de "- / var / www / vhosts / myhostname.com / svn / public / openx /.*"?
Une réponse très tardive, mais au cas où quelqu'un d'autre ait cette question (je vais deviner que vous devriez être / dirigé une boîte à Plesk, c'est pourquoi je suis tombé sur ceci). P>
Votre meilleur pari est d'avoir APC dans la liste des modules PHP chargés, mais avoir
apc.enabled 0 code> dans le maître php.ini. Ensuite, pour chaque Vhost, vous souhaitez l'avoir activé pour, ajouter
php_admin_value APC.Enabled 1 code> pour activer pour chacun. Pourrait être un problème si vous avez une tonne de sites, mais travaille pour quelques-uns quelques-uns. P>
Puisque APC.FILTERS fonctionne avec des expressions régulières, WildCard Chemier doit être spécifié comme APC.FILTERS = "- / USR / Share / PSA-Hordique /.*" p>
la solution de Pnomolos fonctionne si vous avez des vhosts différents, mais cela ne fonctionnera pas si vous n'en avez qu'un seul et souhaitez contrôler la mise en cache de manière véridique par répertoire. P>
Ce rapport de bogue pointe sur la meilleure solution: https: //bugs.php. net / bug.php? id = 57064 p>
Activer APC et définir apc.cache_by_default code> à
0 code> dans
php.ini code>. Dans votre configuration Apache, vous pouvez ensuite utiliser
php_admin_setting APC.Cache_by_default 1 code> à l'intérieur d'un répertoire code> code> pour activer la mise en cache APC exactement où vous en avez besoin. P>
utilisé: