我正在使用APC(3.1.9)和Zend Framework,但是,只有一堆文件被缓存(类似于10/400)。
你有什么想法吗?我在debian安装中使用工厂选项。
编辑:看起来唯一的opcached文件是我用require '';
手动调用的文件,但是我的自动加载器加载的文件不是。{有什么想法吗?
运行时设置
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
apc.num_files_hint 1000
apc.preload_path
apc.report_autofilter 1
apc.rfc1867 0
apc.rfc1867_freq 0
apc.rfc1867_name APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_
apc.rfc1867_ttl 3600
apc.serializer default
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
这里是apc.php的截图
获取opcached的文件
index.php(ZF)我需要文件并在Zend_Loader_Autoloader中注册自动加载器。
答案 0 :(得分:1)
自动加载的最大缺点之一可能是op cache不会像人们希望的那样缓存自动加载的文件(关于autoload是运行时与include / require是编译时间。或者不是。我不声称理解它。 )。阅读更多here。
虽然我从未尝试过,但我想知道是否通过在自动加载器中调用apc_compile_file()手动将自动加载的文件添加到缓存中会有效地解决此问题吗?
答案 1 :(得分:0)
由于某些原因apc.cache_by_default设置为OFF,我的文件没有正确缓存,这是合乎逻辑的给定此配置,但是,我仍然不明白为什么我手动需要的实际缓存。