如果新版本的脚本正在运行,如何清除 PHP APCu 缓存?

How to clear PHP APCu cache if new version of the script is runnig?

我正在开发一个在 Apache2 上启动的简单 PHP 应用程序。我使用 APCu 来加速应用程序的某些部分,并为每个部分和包使用一个特殊的密钥。该应用程序基于 Composer,有时我需要在网站上线时更新应用程序脚本。

我正在寻找一种在应用程序版本动态更改时清除缓存的方法。

最后,我找到了一个非常简单有效的解决方案。在项目更新时清理缓存的最佳方法是将脚本放入 composer。这是一个例子:

{
    "scripts": {
        "post-update-cmd": "Util\CacheController::clearCache()"
    }
}

clearCache 函数将删除所有缓存数据。因此,每当有人尝试更新项目时,缓存就会被删除。