我读过关于APC,它加快了多个PHP文件的网站。 所以我在PHP与许多文件这个特殊的项目,我发现require_once和解析只有类定义(不执行他们)需要大量的时间。
所以,我已经在我的CentOS 5服务器上安装了APC。 我搬到apc.php到我的网络服务器,它显示
Hits: 1 (50.0%)
Misses: 1 (50.0%)
Cached Files 1 (281.1 KBytes)
我可以去网站和子页面的变化等,并apc.php仍然只显示一个缓存的文件?
而在phpinfo()函数它表明:
启用APC支持
我不知道该怎么办。 是APC的工作(如phpinfo()函数的SAI),或者是不是? 只有一个缓存文件不是浏览我的网站上的一些网页后多。
并进一步如何诊断错误,并确保APC的作品? 我浏览
apc.mmap_file_mask /tmp/apc.QnLqNf /tmp/apc.QnLqNf
/ tmp目录,但我喜欢它的phpinfo应该发生的既定没有APC的任何文件存在。
请帮我查一下,如果APC的工作,如果没有,什么可能是一个问题。
APC可以以两种方式使用:
- 作为一个操作码缓存。 你必须支持启用,因此这是工作; 和
- 作为一般的高速缓存。 你必须明确地使用API这一点。
(1)是主要的益处。 它通过存储的“编译”脚本操作码结果减少了时间脚本执行。
至于它的工作,从安装说明 :
注:在Windows中,APC需要一个临时路径存在,并且是由Web服务器可写。 它检查的顺序TMP,TEMP,USERPROFILE环境变量,最后试图WINDOWS目录,如果没有这些的设置。
所以,你不应该需要它(或看到任何活动)在CentOS。
话虽这么说,需要/包括比require_once / include_once /自动加载更好,但它应该只不管你正在做的是与数百个文件。
是您的网站基本上是一个PHP文件,然后包括或需要其他文件? 这可以注册为一个单一的文件。 此外,据我所知,条件包括/需要逻辑如预期尽管这可能只是传闻可能不缓存!
你检查THR日志文件? 看看/var/log/apache2/error.log或但其分发下而得名。
另外,尽量使2-3 PHP文件,点thebrowser他们,然后检查有多少PHP文件由APC缓存中..
不知道APC,但我建议eAccelerator在( http://eaccelerator.net/ )。 我前一段时间进行了测试,并做真的差。
APC其实犯规proceses之间共享缓存。 尝试配置您的PHP进程叉童车,让法师PHP进程保持运行。
请参阅: 如何在FastCGI的运行时共享多个PHP进程之间的APC缓存?
在APC 3.1.5dev分支, 引入一个新的选项 ,让您禁用操作码缓存。 这似乎是默认关闭的。
尝试添加这对您的APC配置文件:
apc.enable_opcode_cache=1
http://www.litespeedtech.com/support/forum/showthread.php?t=3761
“APC不与PHP suEXEC的工作以及每个PHP进程将使用自己的高速缓存,不共享。
你应该尝试eAccelerator在+的/ dev / shm的,如果你需要使用PHP suEXEC的“。
也得到了同样的问题,似乎PHP的suEXEC + APC是问题