APC 在 Apache 上加载正常,但数据未保存

APC 在 Apache 上加载正常,但数据未保存

我安装了 APC 3.1.5 beta,因为 3.0.19 给了我一些奇怪的错误。

3.1.5 安装正常,它出现在 phpinfo 上,并且功能运行正常,没有错误。唯一的问题是数据没有持久保存。

我可以在同一个脚本中执行 apc_store 和 apc_fetch,并且在同一个实例上它将返回存储的数据,但如果我使用两个实例,其中一个存储而另一个获取,则后者将不会返回任何内容,就像密钥不存在一样。

另外使用提供的 apc.php 我得到了以下可能有帮助的信息:

Shared Memory 1 Segment(s) with 32.0 MBytes
(mmap memory, pthread mutex locking) 
Uptime 0 minutes

Runtime Settings
apc.cache_by_default 1
apc.canonicalize 1
apc.coredump_unmap 0
apc.enable_cli 0
apc.enabled 1
apc.file_md5 0
apc.file_update_protection 2
apc.filters 
apc.gc_ttl 3600
apc.include_once_override 0
apc.lazy_classes 0
apc.lazy_functions 0
apc.max_file_size 1M
apc.mmap_file_mask /tmp/apc.rSmNYe
apc.num_files_hint 1024
apc.preload_path 
apc.report_autofilter 0
apc.rfc1867 0
apc.rfc1867_freq 0
apc.rfc1867_name APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_
apc.rfc1867_ttl 3600
apc.shm_segments 1
apc.shm_size 32M
apc.slam_defense 1
apc.stat 1
apc.stat_ctime 0
apc.ttl 0
apc.use_request_time 1
apc.user_entries_hint 4096
apc.user_ttl 0
apc.write_lock 1

使用 pecl 在 Apache 2.0.63、PHP 5.3.3、nginx 0.8.46、CentOS 5 64 位上安装

有什么想法吗?谢谢

答案1

使用 APC 你必须使用mod_php或者PHP-FPM否则,每个进程都会创建一个新的 APC 缓存,并且您的请求可能无法从同一个进程得到满足。

你可以通过加载来看到此效果APC的php源码(来自 APC 包的 APC 统计数据)并查看缓存位置在每次请求时如何变化。

对于 APC,我倾向于使用mod_php在 Apache 盒子上和PHP-FPM在 nginx 盒子上。如果有人知道任何其他方法,请告诉我。APC 没有计划修复,因为它在PHP-FPM

相关内容