我在Windows开发服务器上安装了APC。启用APC并重启apache后,我们的页面无法加载。他们超时,我只是在浏览器上重置连接。
服务器上的其他脚本(例如phpmyadmin
)也无法加载。
这是我们的系统配置:
Windows 2003 Server
Apache 2.2.22
PHP Version 5.3.15
APC Version 3.1.11
检查apc.php
我看到命中率为80%而且错过了20%。
APC运行时设置
apc.cache_by_default 1
apc.canonicalize 1
apc.coredump_unmap 0
apc.enable_cli 0
apc.enabled 1
apc.file_md 50
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.num_files_hint 1000
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.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.a00532
,但是file size 0
我还检查了php错误日志,我没有看到任何内容。
非常感谢任何帮助,提前谢谢。
修改 我正在使用VC9编译的PHP和我的apache匹配从apache休息室编译的VC9。我也试过使用APC 3.1.9,也没有显示页面。我运行的任何php脚本除了apc.php本身之外都给出了超时,并且它显示了我正在缓存的东西。
答案 0 :(得分:1)
您使用的APC版本可能与您的PHP版本不匹配
我应该做的第一件事是从命令行运行php -v
并检查错误
请注意,APC 3.1.11版本仍处于测试阶段;最新的稳定版本是3.1.9
您可以从here下载APC预编译二进制版本
要选择正确的APC版本(VC6 / VC9 - 线程安全/非线程安全),您应该禁用APC并打开“phpinfo()”页面,然后查找选项“线程安全< / strong>“和”配置命令“
如果您从PHP site下载了PHP,那么5.3.15版本应该是VC9编译的
此版本不应与“apache.org”二进制文件一起使用,因为您可以阅读here,因此您还应该使用Apache Lounge提供的Apache VC9版本。