APC不缓存文件,但缓存用户数据

meo*_*hia 5 php linux apc

Apc不缓存文件,它只缓存用户数据.当我在localhost上测试时,APC缓存了我使用的所有文件.但它不适用于我的共享主机.这是配置问题吗?

这些是我的apc.php(APC 3.0.19)的统计数据: apc.php统计

在上图中,APC不使用任何内存.这就是phpinfo()给我的: phpinfo()输出

在localhost上,我只访问http://localhost/test.php.Apc将立即缓存localhost/test.php(类型文件).但是在共享主机上,我没有看到它的缓存文件(它可以缓存变量,如果我存储但不包含文件);

    apc_add('APC TEST', '123');
    echo apc_fetch('APC TEST'); //-- it work with this code
Run Code Online (Sandbox Code Playgroud)

如果我访问test.php,我想要Apc cache test.php.

是否有配置使APC无法缓存文件类型或它是共享主机的限制?

Nik*_*kiC 25

为了回应你的评论"Apc已启用,并且apc.cache_by_default = 1; php设置了CGI,我检查了phpinfo();":这就是问题所在.如果在CGI上运行PHP,则会在每个页面加载时创建一个新的PHP进程.由于APC绑定到PHP进程,因此它也会在每次页面访问时进行新实例化.所以它显然没有任何数据.您的用户缓存示例仅起作用,因为您在单个页面加载时存储和获取变量.

所以:APC 无法使用PHP而不是CGI.使用FastCGI(使进程保持活动状态,从而使Cache工作并且通常更快).