首页 > 解决方案 > 无法使用 apc_fetch 从缓存中获取存储的变量

问题描述

环境:PHP:版本 7.3 操作系统:Ubuntu 18.04

参考文献如下:

PHP - apc_store

PHP - apc_fetch


我不能使用单独的 PHP 脚本“file2”中的 apc_fetch 来访问存储的缓存。

当从 file1 触发 apc_fetch 时它确实有效。


文件:1_store_variable_in_memory.php

<?php

$token = "my_token_value";
apc_store('token_1', $token);
// var_dump(apc_fetch('token_1')); // Moved to file 2

文件:2_access_memory_stored_variable.php

<?php

var_dump(apc_fetch('token_1'));

文件 2 的结果:

bool(false)

文件 2 的预期结果:

string(14) "my_token_value"

标签: phpcachingapcphp-7.3

解决方案


PHP cli中的APC在进程结束后被清除,而且多个php cli进程之间不共享内存;因此,这可能不是您想用来解决问题的工具。

如果您需要在进程之间持久保存的缓存,请尝试使用 Redis 或 memcached。


推荐阅读