typ*_*ror 7 php opcode-cache apc
如何在APC操作码缓存中使用apc.filters参数来缓存某些路径?例如,我希望缓存在路径下的任何内容中都是活动的:
"在/ var/WWW /虚拟主机"
并排除路径
"在/ usr /共享/ PSA-部落/"
我试过用
apc.cache_by_default = 0
apc.filters = "+/var/www/vhosts"
Run Code Online (Sandbox Code Playgroud)
和
apc.cache_by_default = 1
apc.filters = "-/usr/share/psa-horde/"
Run Code Online (Sandbox Code Playgroud)
但都没有像我预期的那样奏效.
http://www.php.net/manual/en/apc.configuration.php#ini.apc.filters
过滤器应该更像"+/var/www/vhosts/*"(注意通配符)吗?由于过滤器的工作方式,我担心这是不可能的:
请注意,用于匹配的文件名是传递给include/require的文件名,而不是绝对路径.
任何想法或样本配置?
过滤器应该是逗号分隔的POSIX扩展正则表达式列表.我相信你在第二次尝试中所拥有的只匹配确切路径/ usr/share/psa-horde /,而不是/ usr/share/psa-horde/something或/usr/share/psa-horde/anotherfile.php
以下内容应匹配子文件夹中的任何内容
apc.filters = "-/usr/share/psa-horde/.*"
Run Code Online (Sandbox Code Playgroud)
一个非常晚的响应,但以防其他人有这个问题(我猜你可能/已经/正在运行Plesk盒子,这就是为什么我遇到这个).
你最好的选择是在加载的php模块列表中安装APC,但是
apc.enabled 0在主php.ini中.然后,对于要启用它的每个vhost,添加php_admin_value apc.enabled 1为每个启用.如果您有大量网站可能会成为一个问题,但仅适用于少数网站.