本文整理汇总了PHP中kConf::cacheVersion方法的典型用法代码示例。如果您正苦于以下问题:PHP kConf::cacheVersion方法的具体用法?PHP kConf::cacheVersion怎么用?PHP kConf::cacheVersion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kConf
的用法示例。
在下文中一共展示了kConf::cacheVersion方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
protected static function init()
{
if (self::$cacheVersion) {
return;
}
parent::init();
// check for the reload file
$cacheDir = self::$envMap['cache_root_path'];
$reloadFileExists = file_exists("{$cacheDir}/base.reload");
// fetch the cache version from APC
$fileHash = md5(realpath(__FILE__));
$cacheVersionKey = self::APC_CACHE_MAP . $fileHash;
if (!$reloadFileExists && function_exists('apc_fetch')) {
self::$cacheVersion = apc_fetch($cacheVersionKey);
if (self::$cacheVersion) {
self::$cacheKey = 'kConf-' . self::$cacheVersion;
return;
}
}
// no cache version in APC - create a new one
self::$cacheVersion = substr(time(), -6) . substr($fileHash, 0, 4);
self::$cacheKey = 'kConf-' . self::$cacheVersion;
// save the cache version
if (function_exists('apc_store') && PHP_SAPI != 'cli') {
$res = apc_store($cacheVersionKey, self::$cacheVersion);
if ($reloadFileExists && $res) {
$deleted = @unlink("{$cacheDir}/base.reload");
error_log("Base configuration reloaded");
if (!$deleted) {
error_log("Failed to delete base.reload file");
}
}
}
}