我已经在 Gentoo LAMP 服务器(Apache 2.2、PHP 5.2.13)上安装了 APC,它运行良好(我在 phpinfo() 中看到它),但它实际上没有进行任何缓存。查看 apc.php,我可以看到只有 1.7% 的内存分配被使用,这是一个 ~430kb 的文件。我在服务器(concrete5)上运行一个 CMS,它有数百个 PHP 文件,所以我预计缓存利用率会高得多。显然,出于某种原因,它被忽略了。
php.ini中的相关设置为:
[apc]
apc.enabled = 1
apc.shm_size = 32
除此之外,据我所知,它是香草味的。
如果有帮助的话,这里是 httpd -M 的输出:
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
include_module (static)
filter_module (static)
deflate_module (static)
log_config_module (static)
env_module (static)
expires_module (static)
headers_module (static)
setenvif_module (static)
version_module (static)
ssl_module (static)
mpm_prefork_module (static)
http_module (static)
mime_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
info_module (static)
suexec_module (static)
cgi_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
rewrite_module (static)
so_module (static)
suphp_module (shared)
Syntax OK
和 php -m:
[PHP Modules]
bcmath
calendar
ctype
curl
db
dbase
domxml
exif
ftp
gd
gettext
iconv
imap
mbstring
mcrypt
mime_magic
mysql
openssl
overload
pcre
posix
session
standard
sysvsem
sysvshm
tokenizer
xml
xslt
zlib
[Zend Modules]
任何想法都将不胜感激!
答案1
您是否在 php.ini 中的某个位置添加了 extension=apc.so?这正是尝试配置 APC 时最常见的错误:未加载它。
答案2
确保 APC 设置apc.cache_by_default = 1
;否则没有任何内容会被操作码缓存,只有代码手动请求的变量。