我有一个清除apc的php脚本。 当我使用浏览器打开它时,脚本工作正常,但是当我从命令行运行该文件时,它没有清除缓存。
我检查了apc.enable_cli设置,这也是打开(查看屏幕截图)。
这是我的php代码
<?php
if (isset($argv[1])) {
$key = $argv[1];
$info = apc_cache_info("user");
foreach ($info['cache_list'] as $obj) {
if (strstr($obj['info'], $key)) {
apc_delete($obj['info']);
}
}
} else {
apc_clear_cache("user");
}
?>
我错过了什么或做错了什么?
答案 0 :(得分:1)
您无法从命令行清除APC缓存,因为您没有访问网络服务器的同一APC段。
请注意,enable_cli
仅允许您在CLI环境中使用APC,但会为脚本创建一个段,并在脚本末尾销毁它。它没有使用相同的细分受众群,因为它不了解您的网络服务器。
您有两种选择:
file_get_contents()
http://
或类似名称调用网页
如果您需要访问APC数据,还可以阅读我的文章:https://www.dugwood.com/949904-php5-opcode-caching-and-memory-storage-with-apc-xcache-in-command-line-interface-cli-or-cron.html