APCu不存储在PHP 7中

时间:2015-12-16 20:00:27

标签: php caching pecl apcu

APCu只会获取存储在当前页面加载中的值。

刷新两次:

<?php 
var_dump(apcu_fetch("test"));

apcu_store("test", "works", 3600);
var_dump(apcu_fetch("test"));
?>

输出以下内容:

bool(false) string(5) "works"

因此它会在当前页面加载时存储数据。在此之后它不再存在......

我正在使用PHP 7.0.0上的默认配置的最新稳定版本(5.1.2)。

我尝试过不同版本的APCu和PHP 7.在Google上也找不到类似的东西...

这是我的PHP apcu配置: Broken APCu configuration

1 个答案:

答案 0 :(得分:7)

APC(u)旨在在prefork多进程或多线程SAPI中运行。

FastCGI(没有FPM)和CGI不是prefork模型,它们产生不同的进程,因此APC(u)在这些环境中无法正常工作。

使用共享映射内存的任何东西也不会像Opcache那样:它们可以缓存当前进程,但共享它们不能。