4

我尝试使用此 PHP 代码清除用户缓存并从浏览器访问它:

<?php

apc_clear_cache();
apc_clear_cache('user');
apc_clear_cache('opcode');

echo json_encode(array(
    'success' => true,
));

但它不起作用。(我正在使用这些工具来查看它是否正常工作https://rtcamp.com/tutorials/php/zend-opcache/

此外,当用户缓存已满时,它不会从 0 重新启动。APCu 只是停止工作。

我试图设置apc.user_ttl=0,但 APCu 无法识别它。

我的设置是:

extension=apcu.so
apc.enabled=1
apc.shm_size=10240M
apc.ttl=7200
apc.enable_cli=1
apc.gc_ttl=3600
apc.entries_hint=4096
apc.slam_defense=0
apc.enable_cli = 1
apc.user_ttl=0
apc.serializer=igbinary
4

2 回答 2

14
<?php

if (extension_loaded('apc')) {
    echo "APC-User cache: " . apc_clear_cache('user') . "\n";
    echo "APC-System cache: " . apc_clear_cache() . "\n";
}

if (extension_loaded('apcu')) {
    echo "APCu cache: " . apcu_clear_cache() . "\n";
}

if (function_exists('opcache_reset')) {
    // Clear it twice to avoid some internal issues...
    opcache_reset();
    opcache_reset();
}
于 2016-03-30T08:01:20.680 回答
0

您使用的工具是用于 Opcache 的,它不了解 APCu。

您需要查看 APCu 状态的脚本是:

如果您认为自己发现了错误,请在 github 上报告。

于 2014-08-29T10:50:26.050 回答