我在 Debian 6 服务器上安装了 Xcache,但是尽管它已被激活,但没有页面被缓存。
Apache 通过 repos 安装,但 PHP 5.4 和 xcache 是从源代码编译的。PHP 作为 Apache 模块运行。
当我在管理部分查看诊断页面时,它说“启用 PHP Cacher”状态为“错误”,因为没有页面被缓存,我应该将 xcache.cacher 设置为“开”,而我已经这样做了。
PHP 输出:
# php -v
PHP 5.4.10 (cli) (built: Feb 13 2013 16:50:20)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with XCache v3.0.1, Copyright (c) 2005-2013, by mOo
with XCache Cacher v3.0.1, Copyright (c) 2005-2013, by mOo
此外,phpinfo 显示XCache Cacher Module 已启用。
我的 xcache 设置:
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 64M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.var_namespace_mode = 0
xcache.var_namespace = ""
xcache.readonly_protection = Off
xcache.mmap_path = "/dev/zero"
xcache.coredump_directory = ""
xcache.coredump_type = 0
xcache.disable_on_crash = Off
xcache.experimental = Off
xcache.cacher = On
xcache.stat = On
xcache.optimizer = On
[xcache.coverager]
xcache.coverager = Off
xcache.coverager_autostart = On
xcache.coveragedump_directory = ""
我有点困惑。.htaccess 文件中没有任何内容可以禁用它,VirtualHosts 块内也是如此。我不知道下一步该去哪里解决这个问题,因为据我所知,它应该可以正常工作。
答案1
我注意到未设置时也存在同样的问题xcache.mmap_path
— 看起来您的设置已设置,但请确保它是一个可写目录。就我而言(在 OSX 上),我使用的是:
xcache.mmap_path = /tmp/xcache