我已经在我们的 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
但它们的文件大小为 0
我还检查了 php 错误日志,但我在那里没有看到任何东西。
非常感谢任何帮助,提前致谢。
编辑 我正在使用 VC9 编译的 PHP,我的 apache 匹配从 apache lounge 编译的 VC9。我也尝试过使用 APC 3.1.9,但它也不显示页面。我运行的任何 php 脚本都会超时,除了 apc.php 本身,它显示正在缓存的内容。
最佳答案
也许您使用的 APC 版本与您的 PHP 版本不匹配。
我应该做的第一件事是从命令行运行 php -v
并检查错误。
请注意,APC 3.1.11 版本仍处于测试阶段;最新的稳定版本是 3.1.9。
您可以从 here 下载 APC 预编译二进制版本。 .
要选择正确的 APC 版本(VC6/VC9 - 线程安全/非线程安全),您应该禁用 APC 并打开“phpinfo()”页面,然后查找选项“线程安全”和“配置命令”。
如果您已经从 PHP site 下载了 PHP ,5.3.15版本应该是VC9编译的。
此版本不应与“apache.org”二进制文件一起使用,您可以阅读 here ,因此您还应该使用 Apache VC9 版本,可从 Apache Lounge 获得.
关于php - 启用 APC 后页面超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11884958/