APC-使用cron作业清除缓存


APC - clearing cache with cron jobs

我有一个使用Apache运行的系统-启用了APC,SLI在上

我的意图:

我使用几个cron来更新内容,一旦这个cron发生,它还会清除与这些更新相关的某些缓存。当我使用curl打开文件时,这一切都很好,但我决定通过在配置中启用APC SLI,通过cron本身进行切换。

问题:cron工作得很好,没有错误,没有任何错误,但是它没有清除缓存,如果我想在SLI中使用它而不是curl,是否有与此相关的某些代码必须更改?

这是代码:

$deletesallupdates = new APCIterator('user', '/^USER.updates/', APC_ITER_VALUE);
apc_delete($deletesallupdates);

我的APC配置:

[APC]
extension = apc.so
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 1024M
apc.max_file_size = 2M
apc.stat = 1
apc.enable_cli = 1

您尝试过使用apc_clear_cache吗?你试过Zend OpCache(适用于PHP 5.2及更新版本)吗?这个有更精确的功能来管理你的缓存。

据我所知,当PHP在CLI模式下运行时和当它作为apache模块运行时,APC有单独的缓存。

这可能是因为您的cron作业工作"正常",但因为它们访问的缓存(APC CLI缓存)与您的应用程序使用的缓存不同。