本文整理匯總了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");
}
}
}
}