PHP APC排除缓存文件夹


PHP APC exclude folder from caching

我想排除一个文件夹缓存与apc。作为apc过滤器,我使用…

apc.cache_by_default=1
apc.filters="-/var/www/mysite/httpdocs/phpmyadmin/.*"

我现在的问题是,我的过滤器不能递归地工作。APC仍然缓存phpmyadmin的子文件夹。有什么想法可以递归地使用我的过滤器吗?

要解决这个问题,你需要做两件事

  1. 更改虚拟主机以禁用phpmyadmin:
Alias /phpmyadmin "/usr/share/phpmyadmin/"
<Directory "/usr/share/phpmyadmin/">
      AllowOverride All
      Options FollowSymlinks
      Order allow,deny
      Allow from all
      php_admin_value open_basedir "/srv/:/tmp/:/usr/share/:/etc/webapps:/usr/share/pear/"
      php_admin_value apc.enabled 0
</Directory>
  1. 为所有phpmyadmin页面添加过滤器:

apc.filter="-/usr/share/phpmyadmin/.*"

应该正常工作。有可能由于符号路径的一些怪异或文件的包含方式而没有被拾取。

无论哪种方式,你都可以匹配文件名中包含phpmyadmin的任何内容,例如:

apc.filters = "-.*phpmyadmin.*"