首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按路径计算apc.filters?

按路径计算apc.filters?
EN

Stack Overflow用户
提问于 2009-10-26 17:50:43
回答 5查看 11.2K关注 0票数 7

如何在APC操作码缓存中使用apc.filters参数来不缓存某些路径?例如,我希望缓存对路径下的任何内容都是活动的:

“/var/www/vhost”

并排除类似的路径

"/usr/share/psa-horde/“

我试着用

代码语言:javascript
复制
apc.cache_by_default = 0
apc.filters = "+/var/www/vhosts"

代码语言:javascript
复制
apc.cache_by_default = 1
apc.filters = "-/usr/share/psa-horde/"

但都不像我预料的那样起作用。

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

过滤器应该更像“+/var/www/vhost/*”(注意通配符)吗?恐怕这是不可能的,因为过滤器的工作方式:

注意,用于匹配的文件名是传递给包含/要求的文件名,而不是绝对路径。

有什么想法或样例配置吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-26 23:11:58

过滤器应该是一个逗号分隔的POSIX扩展正则表达式列表。我相信你在第二次尝试中得到的只是与路径/usr/share/psa-horde/完全匹配的,而不是/usr/share/psa-horde/ the或/usr/share/psa-horde/antherfile.php。

以下内容应与子文件夹中的任何内容匹配

代码语言:javascript
复制
apc.filters = "-/usr/share/psa-horde/.*"
票数 6
EN

Stack Overflow用户

发布于 2010-09-22 23:28:27

一个很晚的反应,但万一别人有这个问题(我猜你可能在运行一个Plesk盒,这就是我遇到这个问题的原因)。

您最好的选择是在加载的php模块列表中包含APC,但在主php.ini中有APC。然后,对于希望启用它的每个vhost,为每个vhost添加php_admin_value apc.enabled 1。如果你有很多网站,但只为少数几个网站工作,这可能是个问题。

票数 5
EN

Stack Overflow用户

发布于 2013-08-28 16:34:15

如果您有不同的vhost,pnomolos的解决方案就能工作,但是如果您只有一个并且希望在每个目录的基础上控制缓存,它就不能工作。

这个bug报告指向了最好的解决方案:https://bugs.php.net/bug.php?id=57064

apc.cache_by_default中启用APC并将其设置为0。在Apache中,您可以在php_admin_setting apc.cache_by_default 1块中使用Directory,以便在需要它的地方启用APC缓存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1626262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档