Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
PK[[JOhtdocs/common/common.phpnuW+Avalues = func_get_args(); $this->i = -1; $this->count = count($this->values); } function next() { $this->i = ($this->i + 1) % $this->count; return $this->values[$this->i]; } function cur() { return $this->values[$this->i]; } function reset() { $this->i = -1; } } function switcher($name, $options) { $n = isset($_GET[$name]) ? $_GET[$name] : null; $html = array(); foreach ($options as $k => $v) { $html[] = sprintf('%s', $name, $k, $k == $n ? ' class="active"' : '', $v); } return implode('', $html); } function mainnav() { foreach (array( "http://xcache.lighttpd.net/" => "XCache", "http://xcache.lighttpd.net/wiki/DocTOC" => _T("Document"), "http://xcache.lighttpd.net/wiki/PhpIni" => _T("INI Reference"), "http://xcache.lighttpd.net/wiki/GetSupport" => _T("Get Support"), "https://groups.google.com/group/xcache/" => _T("Discusson"), "http://www.php.net/" => "PHP", "http://www.lighttpd.net/" => "Lighttpd", ) as $url => $title) { $html[] = sprintf('%s', $url, $title); } return implode('|', $html); } function subnav() { global $module, $modules; $html = array(); foreach ($modules as $k => $v) { $html[] = sprintf('%s', $k, $k == $module ? ' class="active"' : '', $v); } return implode('', $html); } function th($name, $attrs = null) { $translated = __($name); if ($translated == $name) { $translated = "$name|$name"; } list($text, $title) = explode('|', $translated, 2); return sprintf('%s%s%s' , "\t" , $attrs ? " $attrs" : "" , $name, htmlspecialchars(trim($title)), trim($text) , "\n"); } function xcache_validateFileName($name) { return preg_match('!^[a-zA-Z0-9._-]+$!', $name); } function get_language_file_ex($dir, $lang) { static $langMap = array( 'zh' => 'zh-simplified', 'zh-hk' => 'zh-traditional', 'zh-tw' => 'zh-traditional', ); if (isset($langMap[$lang])) { $lang = $langMap[$lang]; } else if (!xcache_validateFileName($lang)) { return null; } $file = "$dir/$lang.php"; if (file_exists($file)) { return $file; } return null; } function get_language_file($dir) { global $config; if (!empty($config['lang'])) { $lang = strtolower($config['lang']); $file = get_language_file_ex($dir, $lang); if (!isset($file)) { $lang = strtok($lang, ':-'); $file = get_language_file_ex($dir, $lang); } } else { $config['lang'] = 'en'; if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { foreach (explode(',', str_replace(' ', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) as $lang) { $lang = strtok($lang, ':;'); $file = get_language_file_ex($dir, $lang); if (isset($file)) { $config['lang'] = $lang; break; } if (strpos($lang, '-') !== false) { $file = get_language_file_ex($dir, strtok($lang, ':-')); if (isset($file)) { $config['lang'] = $lang; break; } } } } } return isset($file) ? $file : "$dir/en.php"; } function _T($str) { if (isset($GLOBALS['strings'][$str])) { return $GLOBALS['strings'][$str]; } if (!empty($GLOBALS['config']['show_todo_strings'])) { return '' . $str . '|'; } return $str; } function __($str) { return _T($str); } function N_($str) { return $str; } function number_formats($a, $keys) { foreach ($keys as $k) { $a[$k] = number_format($a[$k]); } return $a; } function size($size) { $size = (int) $size; if ($size < 1024) return number_format($size, 2) . ' b'; if ($size < 1048576) return number_format($size / 1024, 2) . ' K'; return number_format($size / 1048576, 2) . ' M'; } function age($time) { if (!$time) return ''; $delta = REQUEST_TIME - $time; if ($delta < 0) { $delta = -$delta; } static $seconds = array(1, 60, 3600, 86400, 604800, 2678400, 31536000); static $name = array('s', 'm', 'h', 'd', 'w', 'M', 'Y'); for ($i = 6; $i >= 0; $i --) { if ($delta >= $seconds[$i]) { $ret = (int) ($delta / $seconds[$i]); return $ret . $name[$i]; } } return '0s'; } function stripaddslashes_array($value, $mqs = false) { if (is_array($value)) { foreach($value as $k => $v) { $value[$k] = stripaddslashes_array($v, $mqs); } } else if(is_string($value)) { $value = $mqs ? str_replace('\'\'', '\'', $value) : stripslashes($value); } return $value; } function ob_filter_path_nicer_default($list_html) { $sep = DIRECTORY_SEPARATOR; $docRoot = $_SERVER['DOCUMENT_ROOT']; if ($sep != '/') { $docRoot = str_replace('/', $sep, $docRoot); } $list_html = str_replace(">$docRoot", ">{DOCROOT}" . (substr($docRoot, -1) == $sep ? $sep : ""), $list_html); $xcachedir = realpath(dirname(__FILE__) . "$sep..$sep"); $list_html = str_replace(">$xcachedir$sep", ">{XCache}$sep", $list_html); if ($sep == '/') { $list_html = str_replace(">/home/", ">{H}/", $list_html); } return $list_html; } error_reporting(E_ALL); ini_set('display_errors', 'On'); define('REQUEST_TIME', time()); if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) { $mqs = (bool) ini_get('magic_quotes_sybase'); $_GET = stripaddslashes_array($_GET, $mqs); $_POST = stripaddslashes_array($_POST, $mqs); $_REQUEST = stripaddslashes_array($_REQUEST, $mqs); unset($mqs); } ini_set('magic_quotes_runtime', '0'); $config = array(); if (file_exists("./config.default.php")) { include "./config.default.php"; } include "../config.default.php"; if (file_exists("../config.php")) { include "../config.php"; } if (file_exists("./config.php")) { include "./config.php"; } $strings = array(); include get_language_file("../common/lang"); $modules = array(); if (file_exists("../cacher/index.php")) { $modules["cacher"] = _T("Cacher"); } if (file_exists("../coverager/index.php")) { $modules["coverager"] = _T("Coverager"); } if (file_exists("../diagnosis/index.php")) { $modules["diagnosis"] = _T("Diagnosis"); } header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Content-Type: text/html; " . $GLOBALS['config']['charset']); header("Content-Language: " . $GLOBALS['config']['lang']); ?> PK[[pNNhtdocs/common/common.cssnuW+A* { box-sizing: border-box; -moz-box-sizing: border-box; } body { background: white; color: black; margin: 0; padding: 0; font-family: arial; font-size: 12pt; } form { margin: 0; padding: 0; } a:link , a:visited { color: #0066CC; } a:link:hover , a:visited:hover { color: #BB0000; } a:link:active , a:visited:active { color: red; } #header { background: #5084D5; position: relative; height: 51px; color: #d0d0d0; } h1, h2, h3, h4, h5, h6 { margin-bottom: 2px; } #header #banner { font: 32px/51px "arial", serif; color: white; } #header #banner a { color: white; } #header #banner #logo { border: 0; display: block; float: left; margin-right: 5px; background: white; } #header #mainnav { top: 3px; right: 5px; font-size: 16px; line-height: 16px; position: absolute; } #header #mainnav a { font-size: 14px; } #header #subnav { bottom: 0; right: 5px; position: absolute; font-size: 28px; line-height: 28px; } #header #subnav a { font-size: 24px; } #header #nav { font-family: "arial", serif; } #header #mainnav a:link, #header #mainnav a:visited { color: black; } #header #mainnav a:active, #header #mainnav a:hover { color: red; } #header #mainnav a { padding: 0 8px 0 8px; } #headerbase { background: #1163BC; border: 1px solid #334C66; border-width: 1px 0 1px 0; margin-bottom: 10px; font: 12px/12px serif; } #main table { font-size: 12px; border: 1px solid #334C66; border-top-width: 0; } #main table caption { background: #1163BC; color: white; line-height: 20px; border: 1px solid #334C66; border-bottom-width: 0; padding: 0; } #main table tfoot { background: #1163BC; } #main table th { background: #E7E7FF; color: black; } #main table td { vertical-align: top; } #main { margin: 20px; } #note { font-size: 11.9px; } #footer { bottom: 0px; background: #E7E7FF; border-top: 1px solid gray; } #poweredBy { overflow: hidden; } #footer { clear: both; height: 40px; position: relative; } #footer img { margin-top: 2px; margin-left: 2px; border: 0; } #poweredBy h3 { float: right; margin-right: 20px; margin-top: 20px; } #poweredBy h3 { margin: 0; font-size: 12px; position: absolute; bottom: 8px; right: 8px; } .phpinfo table { border: 1px solid #334C66; margin-bottom: 1px; } .phpinfo table th, .phpinfo table td { border: 1px solid #334C66; } .phpinfo table th { font-weight: bold; } .phpinfo .e {background: #81BBF2; font-weight: bold; color: #000000;} #main .phpinfo .h th {background: #5084D5; font-weight: bold; color: #000000;} .phpinfo .v {color: #000000;} .button { } span.sortarrow { color: white; text-decoration: none; } table.cycles { border: 1px solid #334C66; margin-bottom: 5px; } table.cycles .col1 { background: #f5f5f5; } table.cycles .col2 { background: #e0e0e0; } table.cycles th, table.cycles td { border: 1px solid #334C66; font-family: monospace; } #main table.cycles caption { color: white; font-weight: bold; height: 24px; line-height: 24px; font-family: serif; } #main table.cycles th { background: #81BBF2; color: #334C66; font-weight: bold; height: 20px; line-height: 20px; font-family: serif; } #main table.cycles th.h { background: #5084D5; } th.h a:visited , th.h a:link { color: black; } th.h a:hover { color: #BB0000; } th.h a:active { color: red; } th a { font-weight: bold; display: block; width: 100%; height: 100%; } th { font-size: 12px; } input, table { font-family: sans-serif; } input { font-size: 12px; } table { border-collapse: collapse; font-size: 11px; margin: 0; } table caption { font-size: 14px; font-weight: bold; } a { text-decoration: none; } #main table td { vertical-align: middle; } .switcher a { color: black; padding: 1px 8px 1px 8px; border: 1px solid white; } .switcher a { border-color: white; border-bottom-color: #334C66; } #nav .switcher a { border-color: #5084D5; border-bottom-color: #334C66; } #nav .switcher a.active, .switcher a.active { color: white; background: #1163BC; border-color: #334C66; border-bottom-color: #1163BC; } #nav .switcher a:hover.active, .switcher a:hover.active { background: #81BBF2; } .switcher a:hover { background: #81BBF2; } #nav .switcher a:active, .switcher a:active { background: #81BBF2; } PK[[[htdocs/common/xcache.pngnuW+APNG  IHDR36XMgAMA cHRM Uy}=. *"iCCPICC Profile8˭k@ovi+(UTbYYzhѺn5 Zt7$_!=TQxI)HAPB&dz 3o2o nx^3qCM3.╗qޏmk+ݱoZ)xHٽ\@{Pm=whMk?Rw̢lR;Y%,%X]jK5@Zur9D g N-s {OZ霴LT9dA dFuNQԓ<ҌiOH_mM'{Y$Щ$sLc|?_Y`ѻXz3^-oٷPR-klA pHYs+DIDATx^] xU~6Inh XRMvPĂ13zeq;0:x FD@DևUYeP(Z(Жii2w`ٓ.9] \r$#2\n0~"ª<5͡&kw{|탦Z{; ZYḛe&kBAJ\/3vg"|9׺Ԗ#W e PVV@.h܈Ԁ~qxj@[\' ."Xz:5[׶|u3Vh%&BWs"o`@d'͸QfA!y=.oK{Z%eN#.C#OpBO!?/l0jJBh|'ɜfpjKαF[B&}t;wIM1"e)ʸIt!ȝj5^(WNrR4)tׯ"=| `ONKjwn76bݮk]!-;ouQaJm1Pd0\VdyN $ʃ8edaIjf1w}!QN!"X;{ ڲH^Hveq]-ýb~2._~v FWu:uCH "MZI.W )a42ڐ,,<CJR9 }O#0鎍$=/*bƨ?! ͈o RN h TķDG8ك@sq.^*r ֩,:FzVJVy!ett2rK}KA<&\UHWe=Cd] cOZÂѭsnͷ|s( vha+mY&yop؄lud5/! +فfܳvi}{ \nཱུ? "Da?GZGJa74t1ȇC\\e]J^EN ]%R3eo įuTpzu Q,qy~.rܟe7g-'KFܦh0h<E)BCǐ}%rHXC6zҲn;tFrD5口n›Faj #TēѨA0)ȩGv^.]# i6V FBӆAz~n $52u_ێ qgZ.d;%P)m#wFkL,P;te\'ڤgJ%j*!a3.Sydc*ۘaDlﯫcI9^9)p;7|2 @^o._tb6QGIKeDxbmDۡ#iƊ[ӳ)VU|@_?[6;Q~6T+h8J:HU{?>0f h c!1diWoar̉41 )m W'0 gzz:Y ™%4 !Ct}{ZJnOkY~1$9vmn$2ќhq+">ĺM$庶nY 筥[E1v5o*ӈ,, vgkg~ }`^?7ygm)U0:GW-}*903חo%ppl e9u_baiv8"󦱅|zIx )5yKUY$ԯgx4 6A-|qO13E!$xũ 6aٽ8:X.mBddU!-<($BZ܂b!7ѐbfIcFkǫ~IBo.ZRL`l/uo wI9OO7$ N(Pρk筼JHS`hp9g˄;67'X_t >L7} VN`WG{a 6c>;S I6f,^k7.WUJ2aьhKWzt6:.om0vci6 6[c茩Ui?+P&%>#IJ^,hk0yҳ>./oioES\{ÿsGmpvaoe' wM&yXүR&9Di,o)7dcYDVWWlde.2,XrfQ=?aS7IJ]ZC%IBmfCqVEPW2]YA+O8$xn iL`3coX!?XXP̫N|hdv8'sPX& Ro| Aki򡯣-WpyܸvѫCKܚubehm,XVXto0qh/ Z!e,m#9'R@rH[f`/8\:*}r?1w_zvh%rN 4K`βaZ{,jRYB-*yt=.Y'~mcd s3e7V۬S0r;VcEO⳹=1 7)T>L}J %;ҝ %#ŗ[ֆ7,Y!>RM ĺ=p"-zQXaqBZ̾U E@\$2Y2iuZtiӌZVySJĦ'Jٚ !{1_\Oڜf2$V/9 x Z-qLTmtfWm($۠).KjYxKtVsܳ#IGN.~r.ϦK8p* 3ۜX3 ^PY^J zoj\0eԃؽ=a};cBrO?7G ?\qlfTNJq0,p$n75XZZ>4<oP }Յ=gቡkx?&E.ö/V ;+ֳ. I{ȸ V\MM6RΕ ׷h39t;7/dx1<9LGS"t$4'gS@6f1 _ydf1U}Vm)$1ck]~wn^馵';頑 sߦkCB*kH?2$Ǣ7y=f8C}Y󡲗%!Uh$ȡYŖ-D\) w 4{Rs^~wvZ;ao7Q/R\dطanBFR'R2/OӅBHg)zH J}[o5 s[R-!5τ /Ob3h DctA!M33RN ^z/{w2.x.ΔNۙFNz6~[D=!GE᝔Ȓ-p+ޝM/ ?khQDߝKSP6YPJȕ8s mZP/ $.KWn/8w^8ׯ9Ǎ'1iG&'?$3P{zwMģ˿h׃ GY$V?x9oYaoܴ!WH+P:u/yj9EIENDB`PK[[(hNhtdocs/common/header.tpl.phpnuW+A <?php echo sprintf("XCache %s", $xcache_version = defined('XCACHE_VERSION') ? XCACHE_VERSION : ''); ?> - <?php echo ucfirst($GLOBALS['module']); ?>
 
PK[[Hx&  htdocs/common/tablesort.jsnuW+Avar sort_column; var prev_span = null; function get_inner_text(el) { if((typeof el == 'string')||(typeof el == 'undefined')) return el; if(el.innerText) return el.innerText; else { var str = ""; var cs = el.childNodes; var l = cs.length; for (var i=0;i "帮助文档", "INI Reference" => "INI 参考", "Get Support" => "获取支持", "Discusson" => "讨论", "Cacher" => "缓存器", "Coverager" => "代码覆盖查看器", "Diagnosis" => "诊断", ); PK[[r"d//%htdocs/common/lang/zh-traditional.phpnuW+A "幫助文檔", "INI Reference" => "INI 參考", "Get Support" => "獲取支持", "Discusson" => "討論", "Cacher" => "快取器", "Coverager" => "代码覆盖查看器", "Diagnosis" => "診斷", ); PK[[Hyyhtdocs/common/footer.tpl.phpnuW+A
PK[[&htdocs/index.phpnuW+A $v) { header("Location: $k/"); break; } PK[[jjhtdocs/coverager/common.phpnuW+Adatadir = ini_get('xcache.coveragedump_directory'); global $config; foreach (array('charset', 'include_paths', 'exclude_paths', 'syntax_higlight', 'use_cache', 'datadir', 'lang') as $k) { if (isset($config[$k])) { $this->{$k} = $config[$k]; } } $this->datadir = preg_replace('!/$!', '', $this->datadir); $this->datadir_len = strlen($this->datadir); $this->path = isset($_GET['path']) ? $_GET['path'] : ''; $this->path = preg_replace('!\.{2,}!', '.', $this->path); $qsep = preg_quote(DIRECTORY_SEPARATOR, '!'); $this->path = preg_replace("![\\\\$qsep]{2,}!", DIRECTORY_SEPARATOR, $this->path); $this->path = preg_replace("!$qsep$!", '', $this->path); if ($this->path == '/') { $this->path = ''; } $this->outpath = $this->datadir . $this->path; } function main() { $path = $this->path; if (is_dir($this->outpath)) { $action = 'dir'; $prefix_len = strlen($path) + 1; $dirinfo = $this->loadDir($this->outpath); if (!$this->use_cache) { ksort($dirinfo['subdirs']); ksort($dirinfo['files']); } } else if (is_file($this->outpath . ".pcov")) { $action = 'file'; $dir = dirname($path); $filename = basename($path); $fileinfo = $this->loadCov($this->outpath . ".pcov"); $lines = file($path); // fix the tabs not in the middle foreach ($lines as $l => $line) { if (preg_match('!^(\\t*)([^\\t]+\\t.*)$!s', $line, $m)) { $lines[$l] = $m[1]; $chunks = explode("\t", $m[2]); for ($i = 0, $c = count($chunks) - 1; $i < $c; $i ++) { $lines[$l] .= $chunks[$i] . str_repeat(" ", 4 - (strlen($chunks[$i]) % 4)); } $lines[$l] .= $chunks[$c]; } } if ($this->syntax_higlight) { $source = implode('', $lines); ob_start(); highlight_string($source); $lines = str_replace("\n", "", ob_get_clean()); $lines = str_replace('', '', $lines); $lines = str_replace('', '', $lines); $lines = preg_replace('(^]*>|$)', '', $lines); $lines = explode('
', $lines); $last = array_pop($lines); $lines[count($lines) - 1] .= $last; $filecov = sprint_cov($fileinfo['cov'], $lines, false); unset($source); } else { $filecov = sprint_cov($fileinfo['cov'], $lines); } list($tplfile, $tpllines, $tplcov) = $this->loadTplCov($fileinfo['cov'], substr($this->outpath, $this->datadir_len)); if ($tplfile) { $tplcov = sprint_cov($tplcov, $tpllines); unset($tpllines); } } else if (!$this->datadir) { $action = 'error'; $error = 'require `xcache.coveragedump_directory` in ini or `$datadir` in config to be set'; } else { $action = 'error'; $error = "no data"; } global $config; include "coverager.tpl.php"; } function loadDir($outdir, $addtodo = null) { if ($this->use_cache) { $cachefile = $outdir . "/.pcovcache"; if (file_exists($cachefile)) { return unserialize(file_get_contents($cachefile)); } } $srcdir = substr($outdir, $this->datadir_len); $total = $hits = $todos = 0; $files = array(); $subdirs = array(); if (!isset($addtodo)) { if ($this->include_paths) { foreach ($this->include_paths as $p) { if (strncmp($p, $srcdir, strlen($p)) == 0) { $addtodo = true; break; } } } } if ($addtodo) { if ($this->exclude_paths) { foreach ($this->exclude_paths as $p) { if (strncmp($p, $srcdir, strlen($p)) == 0) { $addtodo = false; break; } } } } foreach (glob($outdir . "/*") as $outfile) { if (is_dir($outfile)) { $info = $this->loadDir($outfile, $addtodo); $srcfile = substr($outfile, $this->datadir_len); $subdirs += $info['subdirs']; $total += $info['total']; $hits += $info['hits']; if ($addtodo === true) { $todos += $info['todos']; } unset($info['subdirs']); $subdirs[$srcfile] = $info; } else if (substr($outfile, -5) == ".pcov") { // pass $info = $this->loadFile($outfile); $total += $info['total']; $hits += $info['hits']; $srcfile = substr($outfile, $this->datadir_len, -5); $files[$srcfile] = $info; } else { continue; } } if ($addtodo === true) { foreach (glob($srcdir . "/*") as $srcfile) { if (!isset($files[$srcfile]) && is_file($srcfile)) { $files[$srcfile] = array('total' => 0, 'hits' => 0); $todos ++; } else if (!isset($subdirs[$srcfile]) && is_dir($srcfile)) { $subdirs[$srcfile] = array('total' => 0, 'hits' => 0, 'todos' => 1, 'files' => 0, 'subdirs' => array()); $todos ++; } } } if ($this->use_cache) { ksort($subdirs); ksort($files); } $info = array( 'total' => $total, 'hits' => $hits, 'todos' => $todos, 'files' => $files, 'subdirs' => $subdirs, ); if ($this->use_cache) { $fp = fopen($cachefile, "wb"); fwrite($fp, serialize($info)); fclose($fp); } return $info; } function loadFile($file) { if ($this->use_cache) { $cachefile = $file . "cache"; if (file_exists($cachefile)) { return unserialize(file_get_contents($cachefile)); } } $info = $this->loadCov($file); //, $lines); unset($info['cov']); if ($this->use_cache) { $fp = fopen($cachefile, "wb"); fwrite($fp, serialize($info)); fclose($fp); } return $info; } function loadCov($file)//, $lines) { $total = $hits = 0; $cov = xcache_coverager_decode(file_get_contents($file)); return array('total' => count($cov) - 1, 'hits' => $cov[0], 'cov' => $cov); } function loadTplCov($cov, $ctpl) { $tplinfofile = $ctpl . '.phpinfo'; if (!file_exists($tplinfofile)) { return; } $tplinfo = unserialize(file_get_contents($tplinfofile)); if (!isset($tplinfo['sourceFile'])) { return; } $tplfile = $tplinfo['sourceFile']; if (!isset($tplinfo['lineMap']) || !count($tplinfo['lineMap'])) { return; } $tpllines = file($tplfile); $dline = 0; $sline = 0; $tplcov = array(); foreach ($cov as $line => $times) { // find nearest line while ($dline < $line) { if ((list($dline, $sline) = each($tplinfo['lineMap'])) === false) { break 2; } } $tplcov[$sline] = $times; } return array($tplfile, $tpllines, $tplcov); } } function sprint_cov($cov, $lines, $encode = true) { $lastattr = null; foreach ($lines as $l => $line) { $offs = $l + 1; if ($encode) { $line = str_replace("\n", "", htmlspecialchars($line)); } else if ($line !== "") { if (substr($line, 0, 7) == '') { $lastattr = null; $line = substr($line, 7); } else if (isset($lastattr)) { $line = $lastattr . $line; } if (preg_match('!(]+>|)[^<>]*$!', $line, $m)) { if ($m[1] == '') { $lastattr = null; } else { $line .= ''; $lastattr = $m[1]; } } } if (isset($cov[$offs])) { $lines[$l] = sprintf("
  •  %s\t%s\n
  • " , $cov[$offs] ? '' : 'No' , $cov[$offs] , $line); } else { $lines[$l] = "
  • \t$line\n
  • "; } } return implode('', $lines); } if (!function_exists('xcache_coverager_decode')) { function xcache_coverager_decode($bytes) { $bytes = unpack('l*', $bytes); $i = 1; if ($bytes[$i ++] != 0x564f4350) { return null; } $end = count($bytes); $cov = array(); for (/* empty*/; $i <= $end; $i += 2) { $hits = $bytes[$i + 1]; $cov[$bytes[$i]] = $hits <= 0 ? 0 : $hits; } return $cov; } } $app = new XcacheCoverageViewer(); $app->main(); ?> PK[[詷"htdocs/coverager/coverager.tpl.phpnuW+A
    {$percent}
    EOS; } function dir_head() { global $cycle; $cycle = new Cycle('class="col1"', 'class="col2"'); $l_dir = _T("Directory"); $l_per = _T("Percent"); $l_hit = _T("Hits"); $l_lns = _T("Lines"); $l_tds = _T("TODO"); return << {$l_dir}{$l_per}{$l_hit}{$l_lns}{$l_tds} EOS; } function dir_row($info, $srcdir) { global $cycle; if ($info['files'] || $info['todos']) { $srcdir .= DIRECTORY_SEPARATOR; $c = $cycle->next(); $srcdir_html = htmlspecialchars($srcdir); $todos = number_format($info['todos']); if ($info['total']) { $srcdir_url = urlencode($srcdir); $hits = number_format($info['hits']); $total = number_format($info['total']); calc_percent($info, $percent, $class); $bar = bar($percent, $class); return << {$srcdir_html} $bar {$hits} {$total} {$todos} EOS; } else { return << {$srcdir_html} {$todos} EOS; } } } function dir_foot() { return << EOS; } function file_head() { global $cycle; $cycle = new Cycle('class="col1"', 'class="col2"'); $l_fil = _T("File"); $l_per = _T("Percent"); $l_hit = _T("Hits"); $l_lns = _T("Lines"); return << {$l_fil}{$l_per}{$l_hit}{$l_lns} EOS; } function file_row($info, $srcfile) { global $cycle; $c = $cycle->next(); $srcfile_html = htmlspecialchars($srcfile); $total = number_format($info['total']); if ($info['total']) { $hits = number_format($info['hits']); $srcfile_url = urlencode($srcfile); calc_percent($info, $percent, $class); $bar = bar($percent, $class); return << {$srcfile_html} $bar {$hits} {$total} EOS; } else { return << {$srcfile_html} {$total} EOS; } } function file_foot() { return << EOS; } $l_root = _T("root"); if ($action == 'dir') { if (function_exists('ob_filter_path_nicer')) { ob_start('ob_filter_path_nicer'); } $path_html = htmlspecialchars($path); echo << $l_root $path
    EOS; echo dir_head($dirinfo); echo dir_row($dirinfo, $path); echo dir_foot($dirinfo); if ($dirinfo['subdirs']) { echo dir_head(); foreach ($dirinfo['subdirs'] as $srcdir => $info) { echo dir_row($info, $srcdir); } echo dir_foot(); } if ($dirinfo['files']) { echo file_head(); foreach ($dirinfo['files'] as $srcfile => $info) { echo file_row($info, $srcfile); } echo file_foot(); } } else if ($action == 'file') { if (function_exists('ob_filter_path_nicer')) { ob_start('ob_filter_path_nicer'); } $dir_url = urlencode($dir); $dir_html = htmlspecialchars($dir); echo << $l_root {$dir_html}/{$filename}
    EOS; echo file_head(); echo file_row($fileinfo, $path); echo file_foot(); if ($tplfile) { $tplfile_html = htmlspecialchars($tplfile); echo << {$tplfile_html}
    EOS; } if (function_exists('ob_filter_path_nicer')) { ob_end_flush(); } echo <<
      {$filecov}
    EOS; if ($tplfile) { echo <<{$tplfile}
      {$tplcov}
    EOS; } } else { $error_html = htmlspecialchars($error); echo <<{$error_html} EOS; } ?> PK[[hkk#htdocs/coverager/config.default.phpnuW+A "目录", "Percent" => "覆盖率", "Hits" => "命中", "Lines" => "行数", "TODO" => "闲置文件", "File" => "文件", "root" => "开始", ); PK[[_i@@(htdocs/coverager/lang/zh-traditional.phpnuW+A $v) { if ($config['percent_graph_type'] != 'free') { $v = 1 - $v; } $v = (int) ($v * $c); $r = $g = $c - $v; $b = $c; $html[] = '
    '; } return implode('', $html); } // }}} function calc_total(&$total, $data) // {{{ { foreach ($data as $k => $v) { switch ($k) { case 'type': case 'cache_name': case 'cacheid': case 'free_blocks': continue 2; } if (!isset($total[$k])) { $total[$k] = $v; } else { switch ($k) { case 'hits_by_hour': case 'hits_by_second': foreach ($data[$k] as $kk => $vv) { $total[$k][$kk] += $vv; } break; default: $total[$k] += $v; } } } } // }}} function array_avg($a) // {{{ { if (count($a) == 0) { return ''; } return array_sum($a) / count($a); } // }}} function bar_hits_percent($v, $percent, $active) // {{{ { $r = 220 + (int) ($percent * 25); $g = $b = 220 - (int) ($percent * 220); $percent = (int) ($percent * 100); $a = $active ? ' class="active"' : ''; $height = 20 - 1 * 2; $valueHeight = ceil($height * $percent / 100); $paddingHeight = $height - $valueHeight; $valueHeight = $valueHeight ? $valueHeight . "px" : 0; $paddingHeight = $paddingHeight ? $paddingHeight . "px" : 0; return '' . ($paddingHeight ? '' : '') . ($valueHeight ? '' : '') . ''; } // }}} function get_cache_hits_graph($ci, $key) // {{{ { global $maxHitsByHour; if ($ci['cacheid'] == -1) { $max = max($ci[$key]); } else { $max = $maxHitsByHour[$ci['type']]; } if (!$max) { $max = 1; } $t = (time() / (60 * 60)) % 24; $html = array(); $width = count($ci[$key]) * 2; $html[] = '
    '; foreach ($ci[$key] as $i => $v) { $html[] = bar_hits_percent($v, $v / $max, $i == $t); } $html[] = "
    "; return implode('', $html); } // }}} function getModuleInfo() // {{{ { ob_start(); phpinfo(INFO_MODULES); $moduleInfo = ob_get_clean(); if (!preg_match_all('!(XCache[^<>]*)(.*?)

    !is', $moduleInfo, $m)) { return; } $moduleInfo = array(); foreach ($m[1] as $i => $dummy) { $caption = trim($m[1][$i]); $info = str_replace('
    ', '', trim($m[2][$i])); $regex = '!]*>!'; if (preg_match($regex, $info)) { $moduleInfo[] = preg_replace($regex, "\\0$caption", $info, 1); } else { $moduleInfo[] = "

    $caption

    "; $moduleInfo[] = $info; } } $moduleInfo = implode('', $moduleInfo); if (ini_get("xcache.test")) { ob_start(); include "./sub/testcoredump.tpl.php"; $test_coredump = trim(ob_get_clean()); $moduleInfo = str_replace('xcache.coredump_directory', 'xcache.coredump_directory' . $test_coredump, $moduleInfo); } return $moduleInfo; } // }}} function getCacheInfos() // {{{ { static $cacheInfos; if (isset($cacheInfos)) { return $cacheInfos; } $phpCacheCount = xcache_count(XC_TYPE_PHP); $varCacheCount = xcache_count(XC_TYPE_VAR); $cacheInfos = array(); $total = array(); global $maxHitsByHour; $maxHitsByHour = array(0, 0); for ($i = 0; $i < $phpCacheCount; $i ++) { $data = xcache_info(XC_TYPE_PHP, $i); if ($_GET['do'] === 'listphp') { $data += xcache_list(XC_TYPE_PHP, $i); } $data['type'] = XC_TYPE_PHP; $data['cache_name'] = "php#$i"; $data['cacheid'] = $i; $cacheInfos[] = $data; $maxHitsByHour[XC_TYPE_PHP] = max($maxHitsByHour[XC_TYPE_PHP], max($data['hits_by_hour'])); if ($phpCacheCount >= 2) { calc_total($total, $data); } } if ($phpCacheCount >= 2) { $total['type'] = XC_TYPE_PHP; $total['cache_name'] = _T('Total'); $total['cacheid'] = -1; $total['gc'] = null; $total['istotal'] = true; unset($total['compiling']); $cacheInfos[] = $total; } $total = array(); for ($i = 0; $i < $varCacheCount; $i ++) { $data = xcache_info(XC_TYPE_VAR, $i); if ($_GET['do'] === 'listvar') { $data += xcache_list(XC_TYPE_VAR, $i); } $data['type'] = XC_TYPE_VAR; $data['cache_name'] = "var#$i"; $data['cacheid'] = $i; $cacheInfos[] = $data; $maxHitsByHour[XC_TYPE_VAR] = max($maxHitsByHour[XC_TYPE_VAR], max($data['hits_by_hour'])); if ($varCacheCount >= 2) { calc_total($total, $data); } } if ($varCacheCount >= 2) { $total['type'] = XC_TYPE_VAR; $total['cache_name'] = _T('Total'); $total['cacheid'] = -1; $total['gc'] = null; $total['istotal'] = true; $cacheInfos[] = $total; } return $cacheInfos; } // }}} function getEntryList() // {{{ { static $entryList; if (isset($entryList)) { return $entryList; } $entryList = array('cache_list' => array(), 'deleted_list' => array()); if ($_GET['do'] == 'listphp') { $entryList['type'] = XC_TYPE_PHP; } else { $entryList['type'] = XC_TYPE_VAR; } foreach (getCacheInfos() as $i => $c) { if (!empty($c['istotal'])) { continue; } if ($c['type'] == $entryList['type'] && isset($c['cache_list'])) { foreach ($c['cache_list'] as $e) { $e['cache_name'] = $c['cache_name']; $entryList['cache_list'][] = $e; } foreach ($c['deleted_list'] as $e) { $e['cache_name'] = $c['cache_name']; $entryList['deleted_list'][] = $e; } } } return $entryList; } // }}} if (!extension_loaded('XCache')) { header("Location: ../diagnosis"); exit; } xcache_count(XC_TYPE_PHP); // trigger auth xcache_admin_namespace(); $doTypes = array( '' => _T('Summary'), 'listphp' => _T('List PHP'), 'listvar' => _T('List Var Data'), ); function processPOST() // {{{ { if (isset($_POST['remove']) && is_array($_POST['remove'])) { foreach ($_POST['remove'] as $name) { if (is_string($name)) { xcache_unset($name); } } } $type = isset($_POST['type']) ? $_POST['type'] : null; if ($type != XC_TYPE_PHP && $type != XC_TYPE_VAR) { $type = null; } if (isset($type)) { $cacheid = (int) (isset($_POST['cacheid']) ? $_POST['cacheid'] : 0); if (isset($_POST['clearcache'])) { xcache_clear_cache($type, $cacheid); } if (isset($_POST['enable'])) { xcache_enable_cache($type, $cacheid); } if (isset($_POST['disable'])) { xcache_enable_cache($type, $cacheid, false); } } if (isset($_POST['coredump'])) { xcache_coredump(); } } // }}} processPOST(); if (!isset($_GET['do'])) { $_GET['do'] = ''; } switch ($_GET['do']) { case 'listphp': case 'listvar': include "./listentries.tpl.php"; break; default: include "./summary.tpl.php"; break; } ?> PK[[];htdocs/cacher/edit.phpnuW+A PK[[6|f!htdocs/cacher/listentries.tpl.phpnuW+A
    PK[[Tdd$htdocs/cacher/sub/moduleinfo.tpl.phpnuW+A

    PK[["ּ&htdocs/cacher/sub/testcoredump.tpl.phpnuW+A
    PK[[Al #htdocs/cacher/sub/entrylist.tpl.phpnuW+A
    TR; if ($isphp) { echo th(N_("entry.id")) ; } else { echo th(N_("entry.remove")) ; } echo th(N_("entry.name")) , th(N_("entry.hits")) , th(N_("entry.size")) ; if ($isphp) { echo th(N_("entry.refcount")) , th(N_("entry.phprefcount")) , th(N_("entry.class_cnt")) , th(N_("entry.function_cnt")) , th(N_("entry.file_size")) , th(N_("entry.file_mtime")) ; echo th(N_("entry.file_device")) , th(N_("entry.file_inode")) ; } echo th(N_("entry.hash")) , th(N_("entry.atime")) , th(N_("entry.ctime")) ; if ($listName == 'Deleted') { echo th(N_("entry.delete")) ; } ?> $entry) { $class = $cycleClass->next(); echo << TR; $hits = number_format($entry['hits']); $size = size($entry['size']); if ($isphp) { $class_cnt = number_format($entry['class_cnt']); $function_cnt = number_format($entry['function_cnt']); $phprefcount = number_format($entry['phprefcount']); $file_size = size($entry['file_size']); } if ($isphp) { $file_mtime = age($entry['file_mtime']); } $ctime = age($entry['ctime']); $atime = age($entry['atime']); if ($listName == 'Deleted') { $dtime = age($entry['dtime']); } if ($isphp) { $hname = htmlspecialchars($entry['name']); $namelink = $hname; echo <<{$entry['cache_name']} {$i} ENTRY; } else { $name = $entry['name']; if (!empty($config['enable_eval'])) { $name = var_export($name, true); } $uname = urlencode($name); $hname = htmlspecialchars(str_replace("\0", "\\0", $entry['name'])); echo << ENTRY; $namelink = "$hname"; } echo <<{$namelink} ENTRY; if ($isphp) { $refcount = number_format($entry['refcount']); echo <<{$entry['refcount']} ENTRY; if (isset($entry['file_inode'])) { echo <<{$entry['file_device']} ENTRY; } } echo <<{$entry['hvalue']} ENTRY; if ($listName == 'Deleted') { echo <<{$dtime} ENTRY; } echo << TR; } ?>
    {$entry['hits']} {$size}{$phprefcount} {$class_cnt} {$function_cnt} {$file_size} {$file_mtime}{$entry['file_inode']}{$atime} {$ctime}
    ">
    PK[[l!htdocs/cacher/sub/summary.tpl.phpnuW+A $ci) { $class = $cycleClass->next(); echo << TR; $pvalue = (int) ($ci['avail'] / $ci['size'] * 100); $pempty = 100 - $pvalue; if ($config['percent_graph_type'] == 'used') { // swap $tmp = $pvalue; $pvalue = $pempty; $pempty = $tmp; } $w = $config['percent_graph_width'] + 2; if (empty($ci['istotal'])) { $graph = freeblock_to_graph($ci['free_blocks'], $ci['size']); $blocksgraph = "
    {$graph}
    "; } else { $blocksgraph = ''; } $ci_slots = size($ci['slots']); $ci_size = size($ci['size']); $ci_avail = size($ci['avail']); $ci = number_formats($ci, $numkeys); $hits_avg_h = number_format(array_avg($ci['hits_by_hour']), 2); $hits_avg_s = number_format(array_avg($ci['hits_by_second']), 2); $hits_graph_h = get_cache_hits_graph($ci, 'hits_by_hour'); if (!empty($ci['istotal'])) { $ci['status'] = '-'; $ci['can_readonly'] = '-'; } else { if ($ci['disabled']) { $ci['status'] = $l_disabled . sprintf("(%s)", age($ci['disabled'])); } else if ($ci['type'] == XC_TYPE_PHP) { $ci['status'] = $ci['compiling'] ? $l_compiling . sprintf("(%s)", age($ci['compiling'])) : $l_normal; } else { $ci['status'] = '-'; } $ci['can_readonly'] = $ci['can_readonly'] ? 'yes' : 'no'; } $enabledisable = $ci['disabled'] ? 'enable' : 'disable'; $l_enabledisable = $ci['disabled'] ? $l_enable : $l_disable; echo <<{$ci['cache_name']} EOS; ?>
    {$ci_slots} {$ci_size} {$ci_avail}
    {$blocksgraph}
    {$ci['status']} {$ci['hits']} {$hits_graph_h} {$hits_avg_h} {$hits_avg_s} {$ci['updates']} {$ci['skips']} {$ci['ooms']} {$ci['errors']} {$ci['can_readonly']} {$ci['cached']} {$ci['deleted']} {$ci['gc']}
      
      
      
    PK[[ k htdocs/cacher/config.default.phpnuW+A Simple MD5 password generator

    Simple MD5 password generator

    Name:

    Password:


    The INI settings you need is:
    $md5_1$md5_2\"\n";
    				}
    				?>
    PK[[) htdocs/cacher/config.example.phpnuW+A

    >
    PK[[4Z htdocs/cacher/lang/en.phpnuW+A "PHP Cached", "var Cached" => "Variable Cached", "php Deleted" => "PHP Deleted", "var Deleted" => "Variable Deleted", "entry.id" => "Id|", "entry.remove" => "Remove|", "entry.name" => "Entry name|The entry name or filename", "entry.hits" => "Hits|Hit times of this entry (loaded from this cache)", "entry.size" => "Size|Size in bytes of this entry in the cache", "entry.refcount" => "Refs|Reference count of this entry is holded by a php request", "entry.phprefcount" => "Shares|Count of entry sharing this php data", "entry.class_cnt" => "Cls.|Count of classes", "entry.function_cnt" => "Funcs|Count of functions", "entry.file_size" => "Src Size|Size of the source file", "entry.file_mtime" => "Modified|Last modified time of the source file", "entry.file_device" => "dev|device number of the source file", "entry.file_inode" => "ino|inode number of the source file", "entry.hash" => "Hash|Hash value of this entry", "entry.atime" => "Access|Last time when this entry is accessed", "entry.ctime" => "Create|The time when this entry is stored", "entry.delete" => "Delete|The time when this entry is deleted", "Caches" => "Caches", "cache.cache" => "Cache|", "cache.slots" => "Slots|Number of hash slots. the setting from your php.ini", "cache.size" => "Size|Cache Size, Size of the cache (or cache chunk), in bytes", "cache.avail" => "Avail|Available Memory, free memory in bytes of this cache", "cache.blocksgraph" => "Percent Graph|Shows how much memory available in percent, and memory blocks status in graph", "cache.operations" => "Operations|Press the clear button to clean this cache", "cache.status" => "Status|Compiling flag, \"Compiling\" if the cache is busy compiling php script. \"Disabled\" if cache is disabled", "cache.hits" => "Hits|Cache Hits, hit=a var/php is loaded from this cache", "cache.hits_graph" => "Hits*24H|Hits graph of last 24 hours", "cache.hits_avg_h" => "Hits/H|Average Hits per Hour. Only last 24 hours is logged", "cache.hits_avg_s" => "Hits/S|Average Hits per Second. Only last 5 seconds is logged", "cache.updates" => "Updates|Cache Updates", "cache.skips" => "Skips|Skips. Skip=updates are needed but skipped for some reason. e.g.: other process/thread is busy compiling on this cache", "cache.ooms" => "OOMs|Out Of Memory, how many times a new item should be stored but there isn't enough memory in the cache, think of increasing the xcache.size or xcache.var_size", "cache.errors" => "Errs|Compiler errors, how many times your script(s) failed to be compiled by PHP. You should really check what is happening if you see this value increase. (See Help for more information)", "cache.readonly_protected" => "Protected|Whether readonly_protection is available and enable on this cache (See help for more information)", "cache.cached" => "Cached|Number of entries stored in this cache", "cache.deleted" => "Deleted|Number of entries is pending in delete list (expired but referenced)", "cache.gc_timer" => "GC|Seconds count down of Garbage Collection", ); PK[[oEEhtdocs/cacher/lang/en.ponuW+Amsgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-08 14:41+0800\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: edit.tpl.php:8 #, php-format msgid "Editing Variable %s" msgstr "" #: edit.tpl.php:13 #, php-format msgid "Set %s in config to enable" msgstr "" #: index.php:187 index.php:213 msgid "Total" msgstr "" #: index.php:263 msgid "Summary" msgstr "" #: index.php:264 msgid "List PHP" msgstr "" #: index.php:265 msgid "List Var Data" msgstr "" #: listentries.tpl.php:11 msgid "php Cached" msgstr "PHP Cached" #: listentries.tpl.php:11 msgid "var Cached" msgstr "Variable Cached" #: listentries.tpl.php:15 msgid "php Deleted" msgstr "PHP Deleted" #: listentries.tpl.php:15 msgid "var Deleted" msgstr "Variable Deleted" #: sub/entrylist.tpl.php:14 msgid "entry.id" msgstr "Id|" #: sub/entrylist.tpl.php:19 msgid "entry.remove" msgstr "Remove|" #: sub/entrylist.tpl.php:24 msgid "entry.name" msgstr "Entry name|The entry name or filename" #: sub/entrylist.tpl.php:25 msgid "entry.hits" msgstr "Hits|Hit times of this entry (loaded from this cache)" #: sub/entrylist.tpl.php:26 msgid "entry.size" msgstr "Size|Size in bytes of this entry in the cache" #: sub/entrylist.tpl.php:31 msgid "entry.refcount" msgstr "Refs|Reference count of this entry is holded by a php request" #: sub/entrylist.tpl.php:32 msgid "entry.phprefcount" msgstr "Shares|Count of entry sharing this php data" #: sub/entrylist.tpl.php:33 msgid "entry.class_cnt" msgstr "Cls.|Count of classes" #: sub/entrylist.tpl.php:34 msgid "entry.function_cnt" msgstr "Funcs|Count of functions" #: sub/entrylist.tpl.php:35 msgid "entry.file_size" msgstr "Src Size|Size of the source file" #: sub/entrylist.tpl.php:36 msgid "entry.file_mtime" msgstr "Modified|Last modified time of the source file" #: sub/entrylist.tpl.php:39 msgid "entry.file_device" msgstr "dev|device number of the source file" #: sub/entrylist.tpl.php:40 msgid "entry.file_inode" msgstr "ino|inode number of the source file" #: sub/entrylist.tpl.php:44 msgid "entry.hash" msgstr "Hash|Hash value of this entry" #: sub/entrylist.tpl.php:45 msgid "entry.atime" msgstr "Access|Last time when this entry is accessed" #: sub/entrylist.tpl.php:46 msgid "entry.ctime" msgstr "Create|The time when this entry is stored" #: sub/entrylist.tpl.php:51 msgid "entry.delete" msgstr "Delete|The time when this entry is deleted" #: sub/entrylist.tpl.php:149 msgid "Remove Selected" msgstr "" #: sub/moduleinfo.tpl.php:1 msgid "Module Info" msgstr "" #: sub/summary.tpl.php:3 msgid "Caches" msgstr "Caches" #: sub/summary.tpl.php:6 msgid "cache.cache" msgstr "Cache|" #: sub/summary.tpl.php:7 msgid "cache.slots" msgstr "Slots|Number of hash slots. the setting from your php.ini" #: sub/summary.tpl.php:8 msgid "cache.size" msgstr "Size|Cache Size, Size of the cache (or cache chunk), in bytes" #: sub/summary.tpl.php:9 msgid "cache.avail" msgstr "Avail|Available Memory, free memory in bytes of this cache" #: sub/summary.tpl.php:10 msgid "cache.blocksgraph" msgstr "" "Percent Graph|Shows how much memory available in percent, and memory blocks " "status in graph" #: sub/summary.tpl.php:11 msgid "cache.operations" msgstr "Operations|Press the clear button to clean this cache" #: sub/summary.tpl.php:12 msgid "cache.status" msgstr "" "Status|Compiling flag, \"Compiling\" if the cache is busy compiling php " "script. \"Disabled\" if cache is disabled" #: sub/summary.tpl.php:13 msgid "cache.hits" msgstr "Hits|Cache Hits, hit=a var/php is loaded from this cache" #: sub/summary.tpl.php:14 msgid "cache.hits_graph" msgstr "Hits*24H|Hits graph of last 24 hours" #: sub/summary.tpl.php:15 msgid "cache.hits_avg_h" msgstr "Hits/H|Average Hits per Hour. Only last 24 hours is logged" #: sub/summary.tpl.php:16 msgid "cache.hits_avg_s" msgstr "Hits/S|Average Hits per Second. Only last 5 seconds is logged" #: sub/summary.tpl.php:17 msgid "cache.updates" msgstr "Updates|Cache Updates" #: sub/summary.tpl.php:18 msgid "cache.skips" msgstr "" "Skips|Skips. Skip=updates are needed but skipped for some reason. e.g.: " "other process/thread is busy compiling on this cache" #: sub/summary.tpl.php:19 msgid "cache.ooms" msgstr "" "OOMs|Out Of Memory, how many times a new item should be stored but there " "isn't enough memory in the cache, think of increasing the xcache.size or " "xcache.var_size" #: sub/summary.tpl.php:20 msgid "cache.errors" msgstr "" "Errs|Compiler errors, how many times your script(s) failed to be compiled by " "PHP. You should really check what is happening if you see this value " "increase. (See Help for more information)" #: sub/summary.tpl.php:21 msgid "cache.readonly_protected" msgstr "" "Protected|Whether readonly_protection is available and enable on this cache " "(See help for more information)" #: sub/summary.tpl.php:22 msgid "cache.cached" msgstr "Cached|Number of entries stored in this cache" #: sub/summary.tpl.php:23 msgid "cache.deleted" msgstr "" "Deleted|Number of entries is pending in delete list (expired but referenced)" #: sub/summary.tpl.php:24 msgid "cache.gc_timer" msgstr "GC|Seconds count down of Garbage Collection" #: sub/summary.tpl.php:30 msgid "Clear" msgstr "" #: sub/summary.tpl.php:31 msgid "Disabled" msgstr "" #: sub/summary.tpl.php:32 msgid "Disable" msgstr "" #: sub/summary.tpl.php:33 msgid "Enable" msgstr "" #: sub/summary.tpl.php:34 msgid "Compiling" msgstr "" #: sub/summary.tpl.php:35 msgid "Normal" msgstr "" #: sub/summary.tpl.php:36 sub/testcoredump.tpl.php:3 msgid "Sure?" msgstr "" #: sub/summary.tpl.php:132 msgid "Legends:" msgstr "" #: sub/summary.tpl.php:134 msgid "% Free" msgstr "" #: sub/summary.tpl.php:134 msgid "% Used" msgstr "" #: sub/summary.tpl.php:136 msgid "Free Blocks" msgstr "" #: sub/summary.tpl.php:136 msgid "Used Blocks" msgstr "" #: sub/summary.tpl.php:138 msgid "Hits" msgstr "" PK[[; **#htdocs/cacher/lang/zh-simplified.ponuW+Amsgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-08 14:41+0800\n" "Language: zh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: edit.tpl.php:8 #, php-format msgid "Editing Variable %s" msgstr "正在编辑变量 %s" #: edit.tpl.php:13 #, php-format msgid "Set %s in config to enable" msgstr "请在配置文件中设置 %s 启用本功能" #: index.php:187 index.php:213 msgid "Total" msgstr "总共" #: index.php:263 msgid "Summary" msgstr "摘要信息" #: index.php:264 msgid "List PHP" msgstr "列出PHP" #: index.php:265 msgid "List Var Data" msgstr "列变量数据" #: listentries.tpl.php:11 msgid "php Cached" msgstr "缓存的 PHP 脚本" #: listentries.tpl.php:11 msgid "var Cached" msgstr "缓存的变量" #: listentries.tpl.php:15 msgid "php Deleted" msgstr "待删 PHP 脚本缓存" #: listentries.tpl.php:15 msgid "var Deleted" msgstr "待删变量缓存" #: sub/entrylist.tpl.php:14 msgid "entry.id" msgstr "Id|" #: sub/entrylist.tpl.php:19 msgid "entry.remove" msgstr "删除|" #: sub/entrylist.tpl.php:24 msgid "entry.name" msgstr "项目名/文件名|项目名或者文件名" #: sub/entrylist.tpl.php:25 msgid "entry.hits" msgstr "命中|该项目被命中的次数 (从缓存区载入)" #: sub/entrylist.tpl.php:26 msgid "entry.size" msgstr "大小|项目在缓存里占用字节数" #: sub/entrylist.tpl.php:31 msgid "entry.refcount" msgstr "引用数|项目依然被其他进程占据的引用次数" #: sub/entrylist.tpl.php:32 msgid "entry.phprefcount" msgstr "共享数|与本项目相同 PHP 代码的个数" #: sub/entrylist.tpl.php:33 msgid "entry.class_cnt" msgstr "类|类个数" #: sub/entrylist.tpl.php:34 msgid "entry.function_cnt" msgstr "函数|函数个数" #: sub/entrylist.tpl.php:35 msgid "entry.file_size" msgstr "源大小|源文件大小" #: sub/entrylist.tpl.php:36 msgid "entry.file_mtime" msgstr "修改|源文件最后修改时间" #: sub/entrylist.tpl.php:39 msgid "entry.file_device" msgstr "dev|源文件所在设备ID" #: sub/entrylist.tpl.php:40 msgid "entry.file_inode" msgstr "ino|源文件的 inode" #: sub/entrylist.tpl.php:44 msgid "entry.hash" msgstr "哈希|该项目的哈希值" #: sub/entrylist.tpl.php:45 msgid "entry.atime" msgstr "访问|最后访问该项目的时间" #: sub/entrylist.tpl.php:46 msgid "entry.ctime" msgstr "创建|该项目被创建于缓存区内的时间" #: sub/entrylist.tpl.php:51 msgid "entry.delete" msgstr "删除|该项目被决定删除的时间" #: sub/entrylist.tpl.php:149 msgid "Remove Selected" msgstr "删除所选" #: sub/moduleinfo.tpl.php:1 msgid "Module Info" msgstr "模块信息" #: sub/summary.tpl.php:3 msgid "Caches" msgstr "缓存区" #: sub/summary.tpl.php:6 msgid "cache.cache" msgstr "缓存|" #: sub/summary.tpl.php:7 msgid "cache.slots" msgstr "槽|Hash 槽个数, 对应 php.ini 里的设置" #: sub/summary.tpl.php:8 msgid "cache.size" msgstr "大小|共享内存区大小, 单位: 字节" #: sub/summary.tpl.php:9 msgid "cache.avail" msgstr "剩余|可用内存, 对应缓存区的剩余内存字节数" #: sub/summary.tpl.php:10 msgid "cache.blocksgraph" msgstr "百分比图|条状显示可用内存的比例, 以及显示分配块状态" #: sub/summary.tpl.php:11 msgid "cache.operations" msgstr "操作|点击按钮清除对应缓存区的数据" #: sub/summary.tpl.php:12 msgid "cache.status" msgstr "" "状态|状态标记. 当缓存区正在编译 PHP 脚本时标记为 \"编译中\". 当缓存区暂停使用" "时标记为 \"禁用\"" #: sub/summary.tpl.php:13 msgid "cache.hits" msgstr "命中|缓存命中次数, 命中=从该缓存载入 PHP 或者变量" #: sub/summary.tpl.php:14 msgid "cache.hits_graph" msgstr "24H 分布|24 小时命中分布图. 图表现是最后 24 小时的命中次数" #: sub/summary.tpl.php:15 msgid "cache.hits_avg_h" msgstr "命中/H|每小时命中次数. 只统计最后 24 小时" #: sub/summary.tpl.php:16 msgid "cache.hits_avg_s" msgstr "命中/S|每秒命中次数. 只统计最后 5 秒" #: sub/summary.tpl.php:17 msgid "cache.updates" msgstr "更新|缓存更新次数" #: sub/summary.tpl.php:18 msgid "cache.skips" msgstr "" "跳过|跳过更新次数, 跳过=XCache 自动判断阻塞的缓存区自动跳过阻塞等待, 直接使用" "编译不缓存方式继续处理请求" #: sub/summary.tpl.php:19 msgid "cache.ooms" msgstr "" "内存不足|内存不足次数, 显示需要存储新数据但是缓存区内存不足的次数. 如果出现太" "频繁请考虑加大配置中的 xcache.size 或者 xcache.var_size" #: sub/summary.tpl.php:20 msgid "cache.errors" msgstr "" "错误|编译错误, 显示您的脚本被编译时出错的次数. 如果您发现这个数字不断增长, 您" "应该检查什么脚本产生错误. 参考 帮助 获取更多信息" #: sub/summary.tpl.php:21 msgid "cache.readonly_protected" msgstr "" "保护|显示该 Cache 是否支持并启用 readonly_protection. 参考 帮助 获取更多信息" #: sub/summary.tpl.php:22 msgid "cache.cached" msgstr "缓存|缓存于该缓存区的项目条数" #: sub/summary.tpl.php:23 msgid "cache.deleted" msgstr "待删|缓存区内将要删除的项目 (已经删除但是还被某些进程占用)" #: sub/summary.tpl.php:24 msgid "cache.gc_timer" msgstr "GC|垃圾回收的倒计时" #: sub/summary.tpl.php:30 msgid "Clear" msgstr "清除" #: sub/summary.tpl.php:31 msgid "Disabled" msgstr "禁用" #: sub/summary.tpl.php:32 msgid "Disable" msgstr "禁用" #: sub/summary.tpl.php:33 msgid "Enable" msgstr "启用" #: sub/summary.tpl.php:34 msgid "Compiling" msgstr "编译中" #: sub/summary.tpl.php:35 msgid "Normal" msgstr "正常" #: sub/summary.tpl.php:36 sub/testcoredump.tpl.php:3 msgid "Sure?" msgstr "确认?" #: sub/summary.tpl.php:132 msgid "Legends:" msgstr "图例:" #: sub/summary.tpl.php:134 msgid "% Free" msgstr "% 剩余" #: sub/summary.tpl.php:134 msgid "% Used" msgstr "% 已用" #: sub/summary.tpl.php:136 msgid "Free Blocks" msgstr "未用块" #: sub/summary.tpl.php:136 msgid "Used Blocks" msgstr "已用块" #: sub/summary.tpl.php:138 msgid "Hits" msgstr "命中" PK[[Ļ$htdocs/cacher/lang/zh-traditional.ponuW+Amsgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-08 14:41+0800\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: edit.tpl.php:8 #, php-format msgid "Editing Variable %s" msgstr "正在编辑变量 %s" #: edit.tpl.php:13 #, php-format msgid "Set %s in config to enable" msgstr "請在配置文件中設置 %s 啟用本功能" #: index.php:187 index.php:213 msgid "Total" msgstr "总共" #: index.php:263 msgid "Summary" msgstr "簡要訊息" #: index.php:264 msgid "List PHP" msgstr "列出PHP" #: index.php:265 msgid "List Var Data" msgstr "列變數資料" #: listentries.tpl.php:11 msgid "php Cached" msgstr "快取的 PHP 指令" #: listentries.tpl.php:11 msgid "var Cached" msgstr "快取的變數" #: listentries.tpl.php:15 msgid "php Deleted" msgstr "待刪 PHP 指令快取" #: listentries.tpl.php:15 msgid "var Deleted" msgstr "待刪變數快取" #: sub/entrylist.tpl.php:14 msgid "entry.id" msgstr "Id|" #: sub/entrylist.tpl.php:19 msgid "entry.remove" msgstr "移除|" #: sub/entrylist.tpl.php:24 msgid "entry.name" msgstr "項目名稱/檔案名稱|項目名稱或者檔案名稱" #: sub/entrylist.tpl.php:25 msgid "entry.hits" msgstr "命中|該項目被命中的次數 (從共享記憶體區載入)" #: sub/entrylist.tpl.php:26 msgid "entry.size" msgstr "大小|項目在共享記憶體裡佔用位元數" #: sub/entrylist.tpl.php:31 msgid "entry.refcount" msgstr "引用數|項目依然被其他程序佔用的引用次數" #: sub/entrylist.tpl.php:32 msgid "entry.phprefcount" msgstr "共享|與本項目相同 PHP 內容的个數" #: sub/entrylist.tpl.php:33 msgid "entry.class_cnt" msgstr "类|类个数" #: sub/entrylist.tpl.php:34 msgid "entry.function_cnt" msgstr "函数|函数个数" #: sub/entrylist.tpl.php:35 msgid "entry.file_size" msgstr "源大小|原始檔案大小" #: sub/entrylist.tpl.php:36 msgid "entry.file_mtime" msgstr "修改|原始檔案最後修改時間" #: sub/entrylist.tpl.php:39 msgid "entry.file_device" msgstr "dev|原始檔案所在設備ID" #: sub/entrylist.tpl.php:40 msgid "entry.file_inode" msgstr "ino|原始檔案的inode" #: sub/entrylist.tpl.php:44 msgid "entry.hash" msgstr "Hash|Hash" #: sub/entrylist.tpl.php:45 msgid "entry.atime" msgstr "存取|最後存取該項目的時間" #: sub/entrylist.tpl.php:46 msgid "entry.ctime" msgstr "建立|該項目被建立於共享內的時間" #: sub/entrylist.tpl.php:51 msgid "entry.delete" msgstr "移除|該項目被移除於共享內的時間" #: sub/entrylist.tpl.php:149 msgid "Remove Selected" msgstr "移除所选" #: sub/moduleinfo.tpl.php:1 msgid "Module Info" msgstr "組元訊息" #: sub/summary.tpl.php:3 msgid "Caches" msgstr "快取" #: sub/summary.tpl.php:6 msgid "cache.cache" msgstr "快取|" #: sub/summary.tpl.php:7 msgid "cache.slots" msgstr "槽|Hash 槽個數,對應 php.ini 裡的設置" #: sub/summary.tpl.php:8 msgid "cache.size" msgstr "大小|共享記憶體區大小,單位:位元" #: sub/summary.tpl.php:9 msgid "cache.avail" msgstr "剩餘|可用記憶體,對應共享記憶體區的剩餘記憶體位元數" #: sub/summary.tpl.php:10 msgid "cache.blocksgraph" msgstr "百分比图|條狀顯示可用記憶體的比例" #: sub/summary.tpl.php:11 msgid "cache.operations" msgstr "操作|點擊按鈕清除對應共享記憶體區的資料" #: sub/summary.tpl.php:12 msgid "cache.status" msgstr "" "狀態|狀態標記. 當共享內存區正在編譯 PHP 腳本時標記為 \"編譯中\". 當共享內存區" "暫停使用時標記為 \"禁用\"" #: sub/summary.tpl.php:13 msgid "cache.hits" msgstr "命中|共享記憶體命中次數,命中=從該共享記憶體載入 PHP 或者變數" #: sub/summary.tpl.php:14 msgid "cache.hits_graph" msgstr "24H 分布|24 小时命中分布图. 图表现是最后 24 小时的命中次数" #: sub/summary.tpl.php:15 msgid "cache.hits_avg_h" msgstr "命中/H|每小时命中次数. 只统计最后 24 小时" #: sub/summary.tpl.php:16 msgid "cache.hits_avg_s" msgstr "命中/S|每秒命中次数. 只统计最后 5 秒" #: sub/summary.tpl.php:17 msgid "cache.updates" msgstr "更新|共享記憶更新過次數" #: sub/summary.tpl.php:18 msgid "cache.skips" msgstr "" "跳過|跳過更新次數,跳過=XCache 自動判斷阻塞的共享記憶體區自動跳過阻塞等待,直" "接使用编译不存储方式繼續處理請求" #: sub/summary.tpl.php:19 msgid "cache.ooms" msgstr "" "記憶體不足|記憶體不足次數,顯示需要儲存新資料但是共享記憶體區記憶體不足的次" "數. 如果出現太頻繁請考慮加大配置中的 xcache.size 或者 xcache.var_size" #: sub/summary.tpl.php:20 msgid "cache.errors" msgstr "" "错误|编译错误, 显示您的脚本被编译时出错的次数. 如果您发现这个数字不断增长, 您" "应该检查什么脚本产生错误. 参考 說明 获取更多信息" #: sub/summary.tpl.php:21 msgid "cache.readonly_protected" msgstr "保护|顯示該 Cache 是否支援並啟用 readonly_protection. 参考 說明" #: sub/summary.tpl.php:22 msgid "cache.cached" msgstr "快取|共享記憶體於該共享記憶體區的項目個數" #: sub/summary.tpl.php:23 msgid "cache.deleted" msgstr "待刪|共享記憶體區內將要刪除的項目 (已經刪除但是還被某些程序佔用)" #: sub/summary.tpl.php:24 msgid "cache.gc_timer" msgstr "GC|垃圾回收的倒數計時" #: sub/summary.tpl.php:30 msgid "Clear" msgstr "清除" #: sub/summary.tpl.php:31 msgid "Disabled" msgstr "禁用" #: sub/summary.tpl.php:32 msgid "Disable" msgstr "禁用" #: sub/summary.tpl.php:33 msgid "Enable" msgstr "啟用" #: sub/summary.tpl.php:34 msgid "Compiling" msgstr "編譯中" #: sub/summary.tpl.php:35 msgid "Normal" msgstr "正常" #: sub/summary.tpl.php:36 sub/testcoredump.tpl.php:3 msgid "Sure?" msgstr "確認?" #: sub/summary.tpl.php:132 msgid "Legends:" msgstr "图例:" #: sub/summary.tpl.php:134 msgid "% Free" msgstr "% 剩余" #: sub/summary.tpl.php:134 msgid "% Used" msgstr "% 已用" #: sub/summary.tpl.php:136 msgid "Free Blocks" msgstr "未用块" #: sub/summary.tpl.php:136 msgid "Used Blocks" msgstr "已用块" #: sub/summary.tpl.php:138 msgid "Hits" msgstr "命中" PK[[oǃ$htdocs/cacher/lang/zh-simplified.phpnuW+A "正在编辑变量 %s", "Set %s in config to enable" => "请在配置文件中设置 %s 启用本功能", "Total" => "总共", "Summary" => "摘要信息", "List PHP" => "列出PHP", "List Var Data" => "列变量数据", "php Cached" => "缓存的 PHP 脚本", "var Cached" => "缓存的变量", "php Deleted" => "待删 PHP 脚本缓存", "var Deleted" => "待删变量缓存", "entry.id" => "Id|", "entry.remove" => "删除|", "entry.name" => "项目名/文件名|项目名或者文件名", "entry.hits" => "命中|该项目被命中的次数 (从缓存区载入)", "entry.size" => "大小|项目在缓存里占用字节数", "entry.refcount" => "引用数|项目依然被其他进程占据的引用次数", "entry.phprefcount" => "共享数|与本项目相同 PHP 代码的个数", "entry.class_cnt" => "类|类个数", "entry.function_cnt" => "函数|函数个数", "entry.file_size" => "源大小|源文件大小", "entry.file_mtime" => "修改|源文件最后修改时间", "entry.file_device" => "dev|源文件所在设备ID", "entry.file_inode" => "ino|源文件的 inode", "entry.hash" => "哈希|该项目的哈希值", "entry.atime" => "访问|最后访问该项目的时间", "entry.ctime" => "创建|该项目被创建于缓存区内的时间", "entry.delete" => "删除|该项目被决定删除的时间", "Remove Selected" => "删除所选", "Module Info" => "模块信息", "Caches" => "缓存区", "cache.cache" => "缓存|", "cache.slots" => "槽|Hash 槽个数, 对应 php.ini 里的设置", "cache.size" => "大小|共享内存区大小, 单位: 字节", "cache.avail" => "剩余|可用内存, 对应缓存区的剩余内存字节数", "cache.blocksgraph" => "百分比图|条状显示可用内存的比例, 以及显示分配块状态", "cache.operations" => "操作|点击按钮清除对应缓存区的数据", "cache.status" => "状态|状态标记. 当缓存区正在编译 PHP 脚本时标记为 \"编译中\". 当缓存区暂停使用时标记为 \"禁用\"", "cache.hits" => "命中|缓存命中次数, 命中=从该缓存载入 PHP 或者变量", "cache.hits_graph" => "24H 分布|24 小时命中分布图. 图表现是最后 24 小时的命中次数", "cache.hits_avg_h" => "命中/H|每小时命中次数. 只统计最后 24 小时", "cache.hits_avg_s" => "命中/S|每秒命中次数. 只统计最后 5 秒", "cache.updates" => "更新|缓存更新次数", "cache.skips" => "跳过|跳过更新次数, 跳过=XCache 自动判断阻塞的缓存区自动跳过阻塞等待, 直接使用编译不缓存方式继续处理请求", "cache.ooms" => "内存不足|内存不足次数, 显示需要存储新数据但是缓存区内存不足的次数. 如果出现太频繁请考虑加大配置中的 xcache.size 或者 xcache.var_size", "cache.errors" => "错误|编译错误, 显示您的脚本被编译时出错的次数. 如果您发现这个数字不断增长, 您应该检查什么脚本产生错误. 参考 帮助 获取更多信息", "cache.readonly_protected" => "保护|显示该 Cache 是否支持并启用 readonly_protection. 参考 帮助 获取更多信息", "cache.cached" => "缓存|缓存于该缓存区的项目条数", "cache.deleted" => "待删|缓存区内将要删除的项目 (已经删除但是还被某些进程占用)", "cache.gc_timer" => "GC|垃圾回收的倒计时", "Clear" => "清除", "Disabled" => "禁用", "Disable" => "禁用", "Enable" => "启用", "Compiling" => "编译中", "Normal" => "正常", "Sure?" => "确认?", "Legends:" => "图例:", "% Free" => "% 剩余", "% Used" => "% 已用", "Free Blocks" => "未用块", "Used Blocks" => "已用块", "Hits" => "命中", ); PK[[V^%htdocs/cacher/lang/zh-traditional.phpnuW+A "正在编辑变量 %s", "Set %s in config to enable" => "請在配置文件中設置 %s 啟用本功能", "Total" => "总共", "Summary" => "簡要訊息", "List PHP" => "列出PHP", "List Var Data" => "列變數資料", "php Cached" => "快取的 PHP 指令", "var Cached" => "快取的變數", "php Deleted" => "待刪 PHP 指令快取", "var Deleted" => "待刪變數快取", "entry.id" => "Id|", "entry.remove" => "移除|", "entry.name" => "項目名稱/檔案名稱|項目名稱或者檔案名稱", "entry.hits" => "命中|該項目被命中的次數 (從共享記憶體區載入)", "entry.size" => "大小|項目在共享記憶體裡佔用位元數", "entry.refcount" => "引用數|項目依然被其他程序佔用的引用次數", "entry.phprefcount" => "共享|與本項目相同 PHP 內容的个數", "entry.class_cnt" => "类|类个数", "entry.function_cnt" => "函数|函数个数", "entry.file_size" => "源大小|原始檔案大小", "entry.file_mtime" => "修改|原始檔案最後修改時間", "entry.file_device" => "dev|原始檔案所在設備ID", "entry.file_inode" => "ino|原始檔案的inode", "entry.hash" => "Hash|Hash", "entry.atime" => "存取|最後存取該項目的時間", "entry.ctime" => "建立|該項目被建立於共享內的時間", "entry.delete" => "移除|該項目被移除於共享內的時間", "Remove Selected" => "移除所选", "Module Info" => "組元訊息", "Caches" => "快取", "cache.cache" => "快取|", "cache.slots" => "槽|Hash 槽個數,對應 php.ini 裡的設置", "cache.size" => "大小|共享記憶體區大小,單位:位元", "cache.avail" => "剩餘|可用記憶體,對應共享記憶體區的剩餘記憶體位元數", "cache.blocksgraph" => "百分比图|條狀顯示可用記憶體的比例", "cache.operations" => "操作|點擊按鈕清除對應共享記憶體區的資料", "cache.status" => "狀態|狀態標記. 當共享內存區正在編譯 PHP 腳本時標記為 \"編譯中\". 當共享內存區暫停使用時標記為 \"禁用\"", "cache.hits" => "命中|共享記憶體命中次數,命中=從該共享記憶體載入 PHP 或者變數", "cache.hits_graph" => "24H 分布|24 小时命中分布图. 图表现是最后 24 小时的命中次数", "cache.hits_avg_h" => "命中/H|每小时命中次数. 只统计最后 24 小时", "cache.hits_avg_s" => "命中/S|每秒命中次数. 只统计最后 5 秒", "cache.updates" => "更新|共享記憶更新過次數", "cache.skips" => "跳過|跳過更新次數,跳過=XCache 自動判斷阻塞的共享記憶體區自動跳過阻塞等待,直接使用编译不存储方式繼續處理請求", "cache.ooms" => "記憶體不足|記憶體不足次數,顯示需要儲存新資料但是共享記憶體區記憶體不足的次數. 如果出現太頻繁請考慮加大配置中的 xcache.size 或者 xcache.var_size", "cache.errors" => "错误|编译错误, 显示您的脚本被编译时出错的次数. 如果您发现这个数字不断增长, 您应该检查什么脚本产生错误. 参考 說明 获取更多信息", "cache.readonly_protected" => "保护|顯示該 Cache 是否支援並啟用 readonly_protection. 参考 說明", "cache.cached" => "快取|共享記憶體於該共享記憶體區的項目個數", "cache.deleted" => "待刪|共享記憶體區內將要刪除的項目 (已經刪除但是還被某些程序佔用)", "cache.gc_timer" => "GC|垃圾回收的倒數計時", "Clear" => "清除", "Disabled" => "禁用", "Disable" => "禁用", "Enable" => "啟用", "Compiling" => "編譯中", "Normal" => "正常", "Sure?" => "確認?", "Legends:" => "图例:", "% Free" => "% 剩余", "% Used" => "% 已用", "Free Blocks" => "未用块", "Used Blocks" => "已用块", "Hits" => "命中", ); PK[[Gҵhtdocs/cacher/cacher.cssnuW+Atd, th { white-space: pre; } .percent { height: 3px; margin-bottom: 1px; border: 1px solid gray; } .percent div { float: left; height: 100%; } .pvalue { background: limegreen; } .blocksgraph { height: 13px; } .blocksgraph div { float: left; height: 3px; width: 4px; border: 0 solid gray; border-width: 0 0 1px 0; } .blocksgraph { border: 1px solid gray; border-bottom: 0; } .percent *, .blocksgraph *, .hitsgraph * { font-size: 1px; line-height: 1px; } .hitsgraph { margin: auto; } .hitsgraph a { display: block; float: left; border: 0 solid gray; } .hitsgraph a { width: 2px; height: 20px; border-top-width: 1px; border-bottom-width: 1px; } /* update this along with index.php */ .hitsgraph a * { display: block; } .hitsgraph a.active { border-top-color: yellow; } .hitsgraph a:hover { background: gray; } dl { overflow: hidden; } dt { font-weight: bold; clear: both; float: left; width: 100px; text-align: right; margin: 0; } dd { margin: 0; } .blockarea { overflow: hidden; width: 400px; } .legends { padding-bottom: 8px; } div.legend { float: left; border: 1px solid gray; font: 12px/12px monospace; } div.legendtitle { float: left; padding: 2px; padding-right: 10px; font: 12px/12px monospace; } PK[[b htdocs/cacher/summary.tpl.phpnuW+A
    PK[[NRr00htdocs/diagnosis/index.phpnuW+A $item); } // }}} function result($type, $result, $suggestion = "") // {{{ { global $notes, $activeNote; $notes[] = array( 'type' => $type , 'result' => ($type != 'skipped' && !$suggestion ? "OK. " : "") . $result , 'suggestion' => $suggestion ) + $activeNote; } // }}} function getCacheInfos() // {{{ { $phpCacheCount = xcache_count(XC_TYPE_PHP); $varCacheCount = xcache_count(XC_TYPE_VAR); $cacheInfos = array(); for ($i = 0; $i < $phpCacheCount; $i ++) { $cacheInfo = xcache_info(XC_TYPE_PHP, $i); $cacheInfo['type'] = XC_TYPE_PHP; $cacheInfos[] = $cacheInfo; } for ($i = 0; $i < $varCacheCount; $i ++) { $cacheInfo = xcache_info(XC_TYPE_VAR, $i); $cacheInfo['type'] = XC_TYPE_VAR; $cacheInfos[] = $cacheInfo; } return $cacheInfos; } // }}} function getIniFileInfo() // {{{ { ob_start(); phpinfo(INFO_GENERAL); $info = ob_get_clean(); ob_start(); if (preg_match_all("![^<]*]*>[^<]*(?:Configuration|ini|Server API)[^<]*[^<]*]*>[^<]*[^<]*!s", $info, $m)) { $iniInfo = '' . implode('', $m[0]) . '
    '; } else { $iniInfo = ''; } $loadedIni = ''; $iniDirectory = ''; if (preg_match('!(.*?\\.ini)!', $info, $m)) { $loadedIni = trim($m[1]); } else if (preg_match('!Configuration File \\(php.ini\\) Path *([^<]+)!', $info, $m)) { $iniDirectory = trim($m[1]); } return array($loadedIni, $iniDirectory, $iniInfo); } // }}} $xcacheLoaded = extension_loaded('XCache'); checking(_T("XCache extension")); // {{{ if (!$xcacheLoaded) { list($loadedIni, $iniDirectory, $iniInfo) = getIniFileInfo(); if ($loadedIni) { echo sprintf(_T("Add extension=xcache.so (or xcache.dll) in %s"), $loadedIni); } else if ($iniDirectory) { echo sprintf(_T("Please put a php.ini in %s and add extension=xcache.so (or xcache.dll) in it"), $iniDirectory); } else { echo _T("Cannot detect php.ini location"); } echo " ", _T("(See above)"); result(N_("error"), _T('Not loaded'), ob_get_clean()); } else { result(N_("info"), _T('Loaded')); } // }}} if ($xcacheLoaded) { // {{{ load XCache summary $cacheInfos = getCacheInfos(); $ooms = 0; $errors = 0; $disabled = 0; $compiling = 0; $readonlyProtection = false; $phpCacheCount = xcache_count(XC_TYPE_PHP); $phpCached = 0; $varCached = 0; foreach ($cacheInfos as $cacheInfo) { $ooms += $cacheInfo['ooms']; $errors += $cacheInfo['errors']; $disabled += $cacheInfo['disabled'] ? 1 : 0; if ($cacheInfo['type'] == XC_TYPE_PHP) { $compiling += $cacheInfo['compiling'] ? 1 : 0; $phpCached += $cacheInfo['cached']; } if ($cacheInfo['type'] == XC_TYPE_VAR && $cacheInfo['cached']) { $varCached += $cacheInfo['cached']; } if ($cacheInfo['can_readonly']) { $readonlyProtection = true; } } } // }}} checking(_T("Enabling PHP Cacher")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if (!ini_get("xcache.size")) { result(N_("error") , _T("Not enabled") , _T("Your PHP pages is not accelerated by XCache. Set xcache.size to non-zero, set xcache.cacher = On") ); } else if (!$phpCached) { result(N_("error") , _T("No php script cached") , _T("Your PHP pages is not accelerated by XCache. Set xcache.cacher = On") ); } else { result(N_("info"), _T('Enabled')); } // }}} checking(_T("PHP Compile Time Error")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if (!$phpCacheCount) { result(N_("skipped"), "XCache PHP cacher not enabled"); } else if ($errors) { result(N_("warning") , _T("Error happened when compiling one or some of your PHP code") , _T("PHP code failed to be compiled cannot be cached. This usually means there was syntax error in your PHP code. Enable PHP error_log to see what parser error is it, fix your code. This warning won't go away until PHP is restarted") ); } else { result(N_("info"), _T('No error happened')); } // }}} checking(_T("Busy Compiling")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if (!$phpCacheCount) { result(N_("skipped"), "XCache PHP cacher not enabled"); } else if ($compiling) { result(N_("warning") , _T("Cache marked as busy for compiling") , _T("It's ok if this status don't stay for long. Otherwise, it could be a sign of PHP crash/coredump, report to XCache devs") ); } else { result(N_("info"), _T('Idle')); } // }}} checking(_T("Enabling VAR Cacher")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if (!ini_get("xcache.var_size")) { result(N_("warning") , _T("Not enabled") , _T("PHP code that use XCache caching backend have to use other caching backend instead. Set xcache.var_size to non-zero if you have any PHP code that can use XCache Data Caching API") ); } else { result(N_("info"), _T('Enabled')); checking(_T("Using VAR Cacher")); // {{{ if (!$varCached) { result(N_("warning") , _T("No variable data cached") , _T("Var Cacher won't work simply by enabling it." . " PHP code must call XCache APIs like xcache_set() to use it as cache backend. 3rd party web apps may come with XCache support, config it to use XCache as caching backend") ); } else { result(N_("info"), _T('Cache in use')); } // }}} } // }}} checking(_T("Cache Size")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if ($ooms) { result(N_("warning") , _T("Out of memory happened when trying to write to cache") , _T("Increase xcache.size and/or xcache.var_size") ); } else { result(N_("info"), _T('Enough')); } // }}} checking(_T("Hash Slots")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else { $slotsTooBig = null; $slotsTooSmall = null; foreach ($cacheInfos as $cacheInfo) { if ($cacheInfo['size'] < '1024000' && $cacheInfo['slots'] >= '8192') { $slotsTooBig = $cacheInfo['type']; break; } if ($cacheInfo['slots'] < $cacheInfo['cached'] / 2) { $slotsTooSmall = $cacheInfo['type']; break; } } if (isset($slotsTooBig)) { $prefix = $slotsTooBig == XC_TYPE_PHP ? '' : 'var_'; result(N_("warning") , _T("Slots value too big") , sprintf(_T("A very small value is set to %s value and leave %s value is too big.\n" . "Decrease %s if small cache is really what you want"), "xcache.{$prefix}size", "xcache.{$prefix}slots", "xcache.{$prefix}slots") ); } else if (isset($slotsTooSmall)) { $prefix = $slotsTooSmall == XC_TYPE_PHP ? '' : 'var_'; result(N_("warning") , _T("Slots value too small") , sprintf(_T("So many item are cached. Increase %s to a more proper value"), "xcache.{$prefix}slots") ); } else { result(N_("info"), _T('Looks good')); } } // }}} checking(_T("Cache Status")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if ($disabled) { result(N_("warning") , _T("At least one of the caches is disabled. ") , _T("Enable the cache.") . (ini_get("xcache.crash_on_coredump") ? " " . _T("It was disabled by PHP crash/coredump handler or you disabled it manually.") : _T('You disabled it manually.')) . (ini_get("xcache.crash_on_coredump") ? " " . _T("If it was caused by PHP crash/coredump, report to XCache devs") : "") ); } else { result(N_("info"), _T('Idle')); } // }}} checking(_T("Coredump Directory")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if (!ini_get("xcache.coredump_directory")) { result(N_("info") , _T("Not enabled") , _T("Enable coredump to save debugging information in case when PHP crash. It can also be enabled in other module like php-fpm beside XCache") ); } else if (ini_get("xcache.coredump_directory")) { $coreDir = ini_get("xcache.coredump_directory"); if (substr($coreDir, -1) != DIRECTORY_SEPARATOR) { $coreDir .= DIRECTORY_SEPARATOR; } $coreFiles = glob($coreDir . "core*"); if ($coreFiles) { result(N_("error") , _T("Core files found:\n") . implode("\n", $coreFiles) , _T("Disable XCache PHP Cacher (set xcache.size=0), remove the core file(s), then restart PHP. If core file appears again, report call stack backtrace in the core to XCache devs") ); } else { result(N_("info") , _T("Enabled") , sprintf(_T("You can see core files if PHP crash in %s if PHP crash"), ini_get("xcache.coredump_directory")) ); } } // }}} checking(_T("Readonly Protection")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if (ini_get("xcache.readonly_protection") && !$readonlyProtection) { result(N_("error") , _T("Set to enabled but not available") , _T("Use xcache.mmap_path other than /dev/zero") ); } else { result(N_("info") , $readonlyProtection ? _T("Enabled") : _T("Disabled") , _T("Enable readonly_protection == --performance & ++stability. " . "Disable readonly_protection == ++performance & --stability") ); } // }}} checking(_T("XCache modules")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else { $xcacheModules = explode(" ", XCACHE_MODULES); $unexpectedModules = array_intersect($xcacheModules, array("coverager", "disassembler")); if ($unexpectedModules) { result(N_("warning") , implode("\n", $unexpectedModules) , _T("Acceptable. Module(s) listed are built into XCache but not for production server.\n" . "Leave it as is if you're feeling good.\n" . "Re-configure XCache with the module(s) disabled if you're strict with server security.") ); } else { result(N_("info"), _T('Idle')); } } // }}} checking(_T("XCache test setting")); // {{{ if (!$xcacheLoaded) { result(N_("skipped"), "XCache not loaded"); } else if ((int) ini_get('xcache.test') == 1) { result(N_("warning") , _T("Enabled") , _T("xcache.test is for testing only, not for server. set it to off") ); } else { result(N_("info"), _T('Disabled')); } // }}} checking(_T("PHP Version")); // {{{ $phpVersion = phpversion(); $unstablePhpVersionReason = null; foreach ($knownUnstablePhpVersions as $knownUnstablePhpVersion) { list($compareOp, $unstablePhpVersion, $reason) = $knownUnstablePhpVersion; if ($compareOp) { $isUnstable = version_compare($phpVersion, $unstablePhpVersion, $compareOp); } else { $isUnstable = substr($phpVersion, 0, strlen($unstablePhpVersion)) == $unstablePhpVersion; } if ($isUnstable) { $unstablePhpVersionReason = $reason; break; } } if ($unstablePhpVersionReason) { result(N_("error") , _T("The version of PHP you're using is known to be unstable: ") . $unstablePhpVersionReason , _T("Upgrade to new version of PHP")); } else { result(N_("info"), _T("Looks good")); } // }}} checking(_T("Extension Compatibility")); // {{{ $loadedZendExtensions = get_loaded_extensions(true); $extensionGood = true; if (array_search("Zend Optimizer", $loadedZendExtensions) !== false) { result(N_("info") , _T("Zend Optimizer loaded") , _T("Optimizer feature of 'Zend Optimizer' is disabled by XCache due to compatibility reason; the Loader of it is still available, encoded files are still supported") ); $extensionGood = false; } if (array_search("the ionCube PHP Loader", $loadedZendExtensions) !== false) { result(N_("info") , _T("the ionCube PHP Loader loaded") , _T("Compatibility with this the ionCube PHp Loader' is taken care of; But in case if there's any problem, report to ionCube team and/or XCache devs") ); $extensionGood = false; } if (!$extensionGood) { result(N_("info"), _T("Looks good")); } // }}} checking(_T("SAPI Compatibility")); // {{{ if (php_sapi_name() == "cgi" || php_sapi_name() == "cgi-fcgi" && !isset($_SERVER["FCGI_ROLE"])) { result(N_("error"), _T("CGI is not supported"), _T("Use FastCGI or FPM instead")); } else if (php_sapi_name() == "cgi-fcgi" && isset($_SERVER["FCGI_ROLE"]) && (int) getenv("PHP_FCGI_CHILDREN") < 1) { result(N_("error") , "PHP_FCGI_CHILDREN<1" , _T("PHP_FCGI_CHILDREN should be >= 1 and use 1 group of parent/childs model. See http://xcache.lighttpd.net/wiki/Faq")); } else { result(N_("info"), _T("Looks good")); } // }}} include "./diagnosis.tpl.php"; PK[[y##"htdocs/diagnosis/diagnosis.tpl.phpnuW+A
    PK[[_i@@htdocs/diagnosis/lang/en.phpnuW+A= 1 and use 1 group of parent/childs model. See " "http://xcache.lighttpd.net/wiki/Faq" msgstr "" PK[[w,,&htdocs/diagnosis/lang/zh-simplified.ponuW+Amsgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-08 14:41+0800\n" "Language: zh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: diagnosis.tpl.php:4 msgid "Diagnosis Result" msgstr "诊断结果" #: diagnosis.tpl.php:8 msgid "Item" msgstr "项目" #: diagnosis.tpl.php:11 msgid "Level" msgstr "级别" #: diagnosis.tpl.php:14 msgid "Result" msgstr "结果" #: diagnosis.tpl.php:17 msgid "Explanation/Suggestion" msgstr "解释/建议" #: index.php:77 msgid "XCache extension" msgstr "XCache extension" #: index.php:81 #, php-format msgid "Add extension=xcache.so (or xcache.dll) in %s" msgstr "在 %s 增加 extension=xcache.so (或 xcache.dll)" #: index.php:84 #, php-format msgid "" "Please put a php.ini in %s and add extension=xcache.so (or xcache.dll) in it" msgstr "" "请在 %s 里放个 php.ini 并且在文件内写入 extension=xcache.so (或 xcache.dll)" #: index.php:87 msgid "Cannot detect php.ini location" msgstr "无法检测 php.ini 位置" #: index.php:89 msgid "(See above)" msgstr "(参见上面)" #: index.php:90 msgid "Not loaded" msgstr "未载入" #: index.php:90 index.php:129 index.php:135 index.php:290 index.php:308 #: index.php:373 index.php:405 index.php:408 msgid "error" msgstr "错误" #: index.php:93 msgid "Loaded" msgstr "已载入" #: index.php:93 index.php:141 index.php:158 index.php:175 index.php:189 #: index.php:200 index.php:216 index.php:252 index.php:269 index.php:278 #: index.php:296 index.php:314 index.php:337 index.php:352 index.php:378 #: index.php:385 index.php:392 index.php:399 index.php:413 msgid "info" msgstr "信息" #: index.php:124 msgid "Enabling PHP Cacher" msgstr "启用 PHP 缓存器" #: index.php:126 index.php:146 index.php:149 index.php:163 index.php:166 #: index.php:180 index.php:207 index.php:221 index.php:258 index.php:275 #: index.php:305 index.php:323 index.php:343 msgid "skipped" msgstr "跳过" #: index.php:130 index.php:184 index.php:279 msgid "Not enabled" msgstr "尚未启用" #: index.php:131 msgid "" "Your PHP pages is not accelerated by XCache. Set xcache.size to non-zero, " "set xcache.cacher = On" msgstr "" "XCache 并未对您的 PHP 网页起到加速作用. 设置 xcache.size 为非 0, 设置 xcache." "cacher = On" #: index.php:136 msgid "No php script cached" msgstr "未缓存任何 PHP 脚本" #: index.php:137 msgid "Your PHP pages is not accelerated by XCache. Set xcache.cacher = On" msgstr "XCache 并未对您的 PHP 网页起到加速作用. 设置 xcache.cacher = On" #: index.php:141 index.php:189 index.php:297 index.php:315 index.php:347 msgid "Enabled" msgstr "已启用" #: index.php:144 msgid "PHP Compile Time Error" msgstr "PHP 编译时错误" #: index.php:152 index.php:169 index.php:183 index.php:193 index.php:210 #: index.php:238 index.php:246 index.php:261 index.php:329 index.php:346 msgid "warning" msgstr "警告" #: index.php:153 msgid "Error happened when compiling one or some of your PHP code" msgstr "至少在编译一个或多个您的 PHP 代码时发生编译错误" #: index.php:154 msgid "" "PHP code failed to be compiled cannot be cached. This usually means there " "was syntax error in your PHP code. Enable PHP error_log to see what parser " "error is it, fix your code. This warning won't go away until PHP is restarted" msgstr "" "编译失败的 PHP 代码是无法缓存的. 这通常意味着您的 PHP 代码有语法错误. 请启用 " "error_log 调查具体错误原因并修复您的代码. 重启 PHP 前这个警告不会消失" #: index.php:158 msgid "No error happened" msgstr "未发生过错误" #: index.php:161 msgid "Busy Compiling" msgstr "忙着编译" #: index.php:170 msgid "Cache marked as busy for compiling" msgstr "编译中, 缓存标记为忙" #: index.php:171 msgid "" "It's ok if this status don't stay for long. Otherwise, it could be a sign of " "PHP crash/coredump, report to XCache devs" msgstr "" "这个状态如果持续不就则无影响. 否则可能标志着 PHP 曾经发生异常退出, 如果是的话" "请报告给 XCache 开发组" #: index.php:175 index.php:269 index.php:337 msgid "Idle" msgstr "空闲" #: index.php:178 msgid "Enabling VAR Cacher" msgstr "启用 VAR 缓存器" #: index.php:185 #, fuzzy msgid "" "PHP code that use XCache caching backend have to use other caching backend " "instead. Set xcache.var_size to non-zero if you have any PHP code that can " "use XCache Data Caching API" msgstr "" "支持使用 XCache 作为数据缓存器的 PHP 代码将不得不采用其他缓存器代替. 如果您有" "代码支持 XCache 缓存 API 的话, 您可以设置 xcache.var_size 为非 0" #: index.php:191 msgid "Using VAR Cacher" msgstr "使用 VAR 缓存器" #: index.php:194 msgid "No variable data cached" msgstr "未缓存任何变量数据" #: index.php:195 msgid "" "Var Cacher won't work simply by enabling it. PHP code must call XCache APIs " "like xcache_set() to use it as cache backend. 3rd party web apps may come " "with XCache support, config it to use XCache as caching backend" msgstr "" "只启用变量数据缓存器并无法将其利用起来. 必须通过 PHP 代码去调用 XCache API 接" "口(如 xcache_set() 函数) 将 XCache 作为缓存器. 第三方网页软件可能带有 XCache " "支持, 留意其中的设置启用 XCache 作为缓存器" #: index.php:200 msgid "Cache in use" msgstr "缓存使用中" #: index.php:205 msgid "Cache Size" msgstr "缓存大小" #: index.php:211 msgid "Out of memory happened when trying to write to cache" msgstr "存入缓存时发生内存不足" #: index.php:212 msgid "Increase xcache.size and/or xcache.var_size" msgstr "加大 xcache.size 或 xcache.var_size" #: index.php:216 msgid "Enough" msgstr "充足" #: index.php:219 msgid "Hash Slots" msgstr "哈希槽" #: index.php:239 msgid "Slots value too big" msgstr "哈希槽设定太大" #: index.php:240 #, php-format msgid "" "A very small value is set to %s value and leave %s value is too big.\n" "Decrease %s if small cache is really what you want" msgstr "" "设置给 %s 的值很小, 却采用过大的 %s. 如果您的确想要配置占用很少内存的缓存器, " "可减少 %s" #: index.php:247 msgid "Slots value too small" msgstr "哈希槽设定太小" #: index.php:248 #, php-format msgid "So many item are cached. Increase %s to a more proper value" msgstr "相当多的项目缓存了. 请适量加大 %s" #: index.php:252 index.php:378 index.php:399 index.php:413 msgid "Looks good" msgstr "看起来还行" #: index.php:256 msgid "Cache Status" msgstr "缓存状态" #: index.php:262 msgid "At least one of the caches is disabled. " msgstr "至少一个缓存器是禁止状态" #: index.php:263 msgid "Enable the cache." msgstr "启用已禁止的缓存器." #: index.php:264 msgid "" "It was disabled by PHP crash/coredump handler or you disabled it manually." msgstr "可能是在 PHP 异常退出时自动标记为禁止了, 或者您手工禁止了" #: index.php:264 msgid "You disabled it manually." msgstr "您手工禁止了" #: index.php:265 msgid "If it was caused by PHP crash/coredump, report to XCache devs" msgstr "如果是由于 PHP 异常退出造成, 请报告给 XCache 开发组" #: index.php:273 msgid "Coredump Directory" msgstr "Coredump 目录" #: index.php:280 msgid "" "Enable coredump to save debugging information in case when PHP crash. It can " "also be enabled in other module like php-fpm beside XCache" msgstr "" "启用 coredump 设置. 这样万一发生 PHP 异常退出时可保存调试信息. 这个功能也可以" "在其他地方启用, 如 php-fpm" #: index.php:291 msgid "Core files found:\n" msgstr "发现 core 文件:\n" #: index.php:292 msgid "" "Disable XCache PHP Cacher (set xcache.size=0), remove the core file(s), then " "restart PHP. If core file appears again, report call stack backtrace in the " "core to XCache devs" msgstr "" "禁止 XCache 缓存器 (设置 xcache.size=0), 删除 Core 文件, 再重启 PHP. 如果不" "用 XCache 时不出现 Core, 请从 Core 中取得 call stack back trace 信息报告回 " "XCache 开发组" #: index.php:298 #, php-format msgid "You can see core files if PHP crash in %s if PHP crash" msgstr "如果 PHP 异常退出, 您可以在 %s 目录看到 Core 文件" #: index.php:303 msgid "Readonly Protection" msgstr "只读保护" #: index.php:309 msgid "Set to enabled but not available" msgstr "设置为启用, 但目前不可用" #: index.php:310 msgid "Use xcache.mmap_path other than /dev/zero" msgstr "设置 xcache.mmap_path 使用 /dev/zero 以外的值" #: index.php:315 index.php:352 msgid "Disabled" msgstr "已禁止" #: index.php:316 msgid "" "Enable readonly_protection == --performance & ++stability. Disable " "readonly_protection == ++performance & --stability" msgstr "" "启用 readonly_protection == --性能 & ++稳定性. 禁用 readonly_protection == +" "+性能 & --稳定性" #: index.php:321 msgid "XCache modules" msgstr "XCache 模块" #: index.php:331 msgid "" "Acceptable. Module(s) listed are built into XCache but not for production " "server.\n" "Leave it as is if you're feeling good.\n" "Re-configure XCache with the module(s) disabled if you're strict with server " "security." msgstr "" "可接受. 以上列出的模块已编译入 XCache, 但这些模块并非用于产业服务器.\n" "如果您觉得没大碍, 就保持现状.\n" "如果您对稳定性/安全性要求极其严格, 建议重新编译 XCache 不启用这些模块\n" #: index.php:341 msgid "XCache test setting" msgstr "XCache 测试设置" #: index.php:348 msgid "xcache.test is for testing only, not for server. set it to off" msgstr "xcache.test 仅用于开发测试用, 不用于服务器. 将它设置为 off" #: index.php:355 msgid "PHP Version" msgstr "PHP 版本" #: index.php:374 msgid "The version of PHP you're using is known to be unstable: " msgstr "您所使用的 PHP 版本, 是众所周知的不稳定版本: " #: index.php:375 msgid "Upgrade to new version of PHP" msgstr "升级到更新的 PHP 版本" #: index.php:381 msgid "Extension Compatibility" msgstr "Extension 兼容性" #: index.php:386 msgid "Zend Optimizer loaded" msgstr "Zend Optimizer 载入了" #: index.php:387 msgid "" "Optimizer feature of 'Zend Optimizer' is disabled by XCache due to " "compatibility reason; the Loader of it is still available, encoded files are " "still supported" msgstr "" "由于兼容性问题, 'Zend Optimizer' 的优化器已被 XCache 禁止; 其加载器依然可用, " "可继续使用 Zend 加密的文件" #: index.php:393 msgid "the ionCube PHP Loader loaded" msgstr "" #: index.php:394 msgid "" "Compatibility with this the ionCube PHp Loader' is taken care of; But in " "case if there's any problem, report to ionCube team and/or XCache devs" msgstr "" #: index.php:402 msgid "SAPI Compatibility" msgstr "Extension 兼容性" #: index.php:405 msgid "CGI is not supported" msgstr "不支持 CGI" #: index.php:405 msgid "Use FastCGI or FPM instead" msgstr "请改用 FastCGI 或者 FPM" #: index.php:410 msgid "" "PHP_FCGI_CHILDREN should be >= 1 and use 1 group of parent/childs model. See " "http://xcache.lighttpd.net/wiki/Faq" msgstr "" "PHP_FCGI_CHILDREN 应该设为 >= 1 并且使用 1 组单父多子模型. 参见 http://" "xcache.lighttpd.net/wiki/Faq" PK[[[++'htdocs/diagnosis/lang/zh-traditional.ponuW+Amsgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-07-08 14:41+0800\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: diagnosis.tpl.php:4 msgid "Diagnosis Result" msgstr "" #: diagnosis.tpl.php:8 msgid "Item" msgstr "" #: diagnosis.tpl.php:11 msgid "Level" msgstr "" #: diagnosis.tpl.php:14 msgid "Result" msgstr "" #: diagnosis.tpl.php:17 msgid "Explanation/Suggestion" msgstr "" #: index.php:77 msgid "XCache extension" msgstr "" #: index.php:81 #, php-format msgid "Add extension=xcache.so (or xcache.dll) in %s" msgstr "" #: index.php:84 #, php-format msgid "" "Please put a php.ini in %s and add extension=xcache.so (or xcache.dll) in it" msgstr "" #: index.php:87 msgid "Cannot detect php.ini location" msgstr "" #: index.php:89 msgid "(See above)" msgstr "" #: index.php:90 msgid "Not loaded" msgstr "" #: index.php:90 index.php:129 index.php:135 index.php:290 index.php:308 #: index.php:373 index.php:405 index.php:408 msgid "error" msgstr "" #: index.php:93 msgid "Loaded" msgstr "" #: index.php:93 index.php:141 index.php:158 index.php:175 index.php:189 #: index.php:200 index.php:216 index.php:252 index.php:269 index.php:278 #: index.php:296 index.php:314 index.php:337 index.php:352 index.php:378 #: index.php:385 index.php:392 index.php:399 index.php:413 msgid "info" msgstr "" #: index.php:124 msgid "Enabling PHP Cacher" msgstr "" #: index.php:126 index.php:146 index.php:149 index.php:163 index.php:166 #: index.php:180 index.php:207 index.php:221 index.php:258 index.php:275 #: index.php:305 index.php:323 index.php:343 msgid "skipped" msgstr "" #: index.php:130 index.php:184 index.php:279 msgid "Not enabled" msgstr "" #: index.php:131 msgid "" "Your PHP pages is not accelerated by XCache. Set xcache.size to non-zero, " "set xcache.cacher = On" msgstr "" #: index.php:136 msgid "No php script cached" msgstr "" #: index.php:137 msgid "Your PHP pages is not accelerated by XCache. Set xcache.cacher = On" msgstr "" #: index.php:141 index.php:189 index.php:297 index.php:315 index.php:347 msgid "Enabled" msgstr "" #: index.php:144 msgid "PHP Compile Time Error" msgstr "" #: index.php:152 index.php:169 index.php:183 index.php:193 index.php:210 #: index.php:238 index.php:246 index.php:261 index.php:329 index.php:346 msgid "warning" msgstr "" #: index.php:153 msgid "Error happened when compiling one or some of your PHP code" msgstr "" #: index.php:154 msgid "" "PHP code failed to be compiled cannot be cached. This usually means there " "was syntax error in your PHP code. Enable PHP error_log to see what parser " "error is it, fix your code. This warning won't go away until PHP is restarted" msgstr "" #: index.php:158 msgid "No error happened" msgstr "" #: index.php:161 msgid "Busy Compiling" msgstr "" #: index.php:170 msgid "Cache marked as busy for compiling" msgstr "" #: index.php:171 msgid "" "It's ok if this status don't stay for long. Otherwise, it could be a sign of " "PHP crash/coredump, report to XCache devs" msgstr "" #: index.php:175 index.php:269 index.php:337 msgid "Idle" msgstr "" #: index.php:178 msgid "Enabling VAR Cacher" msgstr "" #: index.php:185 msgid "" "PHP code that use XCache caching backend have to use other caching backend " "instead. Set xcache.var_size to non-zero if you have any PHP code that can " "use XCache Data Caching API" msgstr "" #: index.php:191 msgid "Using VAR Cacher" msgstr "" #: index.php:194 msgid "No variable data cached" msgstr "" #: index.php:195 msgid "" "Var Cacher won't work simply by enabling it. PHP code must call XCache APIs " "like xcache_set() to use it as cache backend. 3rd party web apps may come " "with XCache support, config it to use XCache as caching backend" msgstr "" #: index.php:200 msgid "Cache in use" msgstr "" #: index.php:205 msgid "Cache Size" msgstr "" #: index.php:211 msgid "Out of memory happened when trying to write to cache" msgstr "" #: index.php:212 msgid "Increase xcache.size and/or xcache.var_size" msgstr "" #: index.php:216 msgid "Enough" msgstr "" #: index.php:219 msgid "Hash Slots" msgstr "" #: index.php:239 msgid "Slots value too big" msgstr "" #: index.php:240 #, php-format msgid "" "A very small value is set to %s value and leave %s value is too big.\n" "Decrease %s if small cache is really what you want" msgstr "" #: index.php:247 msgid "Slots value too small" msgstr "" #: index.php:248 #, php-format msgid "So many item are cached. Increase %s to a more proper value" msgstr "" #: index.php:252 index.php:378 index.php:399 index.php:413 msgid "Looks good" msgstr "" #: index.php:256 msgid "Cache Status" msgstr "" #: index.php:262 msgid "At least one of the caches is disabled. " msgstr "" #: index.php:263 msgid "Enable the cache." msgstr "" #: index.php:264 msgid "" "It was disabled by PHP crash/coredump handler or you disabled it manually." msgstr "" #: index.php:264 msgid "You disabled it manually." msgstr "" #: index.php:265 msgid "If it was caused by PHP crash/coredump, report to XCache devs" msgstr "" #: index.php:273 msgid "Coredump Directory" msgstr "" #: index.php:280 msgid "" "Enable coredump to save debugging information in case when PHP crash. It can " "also be enabled in other module like php-fpm beside XCache" msgstr "" #: index.php:291 msgid "Core files found:\n" msgstr "" #: index.php:292 msgid "" "Disable XCache PHP Cacher (set xcache.size=0), remove the core file(s), then " "restart PHP. If core file appears again, report call stack backtrace in the " "core to XCache devs" msgstr "" #: index.php:298 #, php-format msgid "You can see core files if PHP crash in %s if PHP crash" msgstr "" #: index.php:303 msgid "Readonly Protection" msgstr "" #: index.php:309 msgid "Set to enabled but not available" msgstr "" #: index.php:310 msgid "Use xcache.mmap_path other than /dev/zero" msgstr "" #: index.php:315 index.php:352 msgid "Disabled" msgstr "" #: index.php:316 msgid "" "Enable readonly_protection == --performance & ++stability. Disable " "readonly_protection == ++performance & --stability" msgstr "" #: index.php:321 msgid "XCache modules" msgstr "" #: index.php:331 msgid "" "Acceptable. Module(s) listed are built into XCache but not for production " "server.\n" "Leave it as is if you're feeling good.\n" "Re-configure XCache with the module(s) disabled if you're strict with server " "security." msgstr "" #: index.php:341 msgid "XCache test setting" msgstr "" #: index.php:348 msgid "xcache.test is for testing only, not for server. set it to off" msgstr "" #: index.php:355 msgid "PHP Version" msgstr "" #: index.php:374 msgid "The version of PHP you're using is known to be unstable: " msgstr "" #: index.php:375 msgid "Upgrade to new version of PHP" msgstr "" #: index.php:381 msgid "Extension Compatibility" msgstr "" #: index.php:386 msgid "Zend Optimizer loaded" msgstr "" #: index.php:387 msgid "" "Optimizer feature of 'Zend Optimizer' is disabled by XCache due to " "compatibility reason; the Loader of it is still available, encoded files are " "still supported" msgstr "" #: index.php:393 msgid "the ionCube PHP Loader loaded" msgstr "" #: index.php:394 msgid "" "Compatibility with this the ionCube PHp Loader' is taken care of; But in " "case if there's any problem, report to ionCube team and/or XCache devs" msgstr "" #: index.php:402 msgid "SAPI Compatibility" msgstr "" #: index.php:405 msgid "CGI is not supported" msgstr "" #: index.php:405 msgid "Use FastCGI or FPM instead" msgstr "" #: index.php:410 msgid "" "PHP_FCGI_CHILDREN should be >= 1 and use 1 group of parent/childs model. See " "http://xcache.lighttpd.net/wiki/Faq" msgstr "" PK[[W\'htdocs/diagnosis/lang/zh-simplified.phpnuW+A "诊断结果", "Item" => "项目", "Level" => "级别", "Result" => "结果", "Explanation/Suggestion" => "解释/建议", "XCache extension" => "XCache extension", "Add extension=xcache.so (or xcache.dll) in %s" => "在 %s 增加 extension=xcache.so (或 xcache.dll)", "Please put a php.ini in %s and add extension=xcache.so (or xcache.dll) in it" => "请在 %s 里放个 php.ini 并且在文件内写入 extension=xcache.so (或 xcache.dll)", "Cannot detect php.ini location" => "无法检测 php.ini 位置", "(See above)" => "(参见上面)", "Not loaded" => "未载入", "error" => "错误", "Loaded" => "已载入", "info" => "信息", "Enabling PHP Cacher" => "启用 PHP 缓存器", "skipped" => "跳过", "Not enabled" => "尚未启用", "Your PHP pages is not accelerated by XCache. Set xcache.size to non-zero, set xcache.cacher = On" => "XCache 并未对您的 PHP 网页起到加速作用. 设置 xcache.size 为非 0, 设置 xcache.cacher = On", "No php script cached" => "未缓存任何 PHP 脚本", "Your PHP pages is not accelerated by XCache. Set xcache.cacher = On" => "XCache 并未对您的 PHP 网页起到加速作用. 设置 xcache.cacher = On", "Enabled" => "已启用", "PHP Compile Time Error" => "PHP 编译时错误", "warning" => "警告", "Error happened when compiling one or some of your PHP code" => "至少在编译一个或多个您的 PHP 代码时发生编译错误", "PHP code failed to be compiled cannot be cached. This usually means there was syntax error in your PHP code. Enable PHP error_log to see what parser error is it, fix your code. This warning won't go away until PHP is restarted" => "编译失败的 PHP 代码是无法缓存的. 这通常意味着您的 PHP 代码有语法错误. 请启用 error_log 调查具体错误原因并修复您的代码. 重启 PHP 前这个警告不会消失", "No error happened" => "未发生过错误", "Busy Compiling" => "忙着编译", "Cache marked as busy for compiling" => "编译中, 缓存标记为忙", "It's ok if this status don't stay for long. Otherwise, it could be a sign of PHP crash/coredump, report to XCache devs" => "这个状态如果持续不就则无影响. 否则可能标志着 PHP 曾经发生异常退出, 如果是的话请报告给 XCache 开发组", "Idle" => "空闲", "Enabling VAR Cacher" => "启用 VAR 缓存器", "PHP code that use XCache caching backend have to use other caching backend instead. Set xcache.var_size to non-zero if you have any PHP code that can use XCache Data Caching API" => "支持使用 XCache 作为数据缓存器的 PHP 代码将不得不采用其他缓存器代替. 如果您有代码支持 XCache 缓存 API 的话, 您可以设置 xcache.var_size 为非 0", "Using VAR Cacher" => "使用 VAR 缓存器", "No variable data cached" => "未缓存任何变量数据", "Var Cacher won't work simply by enabling it. PHP code must call XCache APIs like xcache_set() to use it as cache backend. 3rd party web apps may come with XCache support, config it to use XCache as caching backend" => "只启用变量数据缓存器并无法将其利用起来. 必须通过 PHP 代码去调用 XCache API 接口(如 xcache_set() 函数) 将 XCache 作为缓存器. 第三方网页软件可能带有 XCache 支持, 留意其中的设置启用 XCache 作为缓存器", "Cache in use" => "缓存使用中", "Cache Size" => "缓存大小", "Out of memory happened when trying to write to cache" => "存入缓存时发生内存不足", "Increase xcache.size and/or xcache.var_size" => "加大 xcache.size 或 xcache.var_size", "Enough" => "充足", "Hash Slots" => "哈希槽", "Slots value too big" => "哈希槽设定太大", "A very small value is set to %s value and leave %s value is too big.\nDecrease %s if small cache is really what you want" => "设置给 %s 的值很小, 却采用过大的 %s. 如果您的确想要配置占用很少内存的缓存器, 可减少 %s", "Slots value too small" => "哈希槽设定太小", "So many item are cached. Increase %s to a more proper value" => "相当多的项目缓存了. 请适量加大 %s", "Looks good" => "看起来还行", "Cache Status" => "缓存状态", "At least one of the caches is disabled. " => "至少一个缓存器是禁止状态", "Enable the cache." => "启用已禁止的缓存器.", "It was disabled by PHP crash/coredump handler or you disabled it manually." => "可能是在 PHP 异常退出时自动标记为禁止了, 或者您手工禁止了", "You disabled it manually." => "您手工禁止了", "If it was caused by PHP crash/coredump, report to XCache devs" => "如果是由于 PHP 异常退出造成, 请报告给 XCache 开发组", "Coredump Directory" => "Coredump 目录", "Enable coredump to save debugging information in case when PHP crash. It can also be enabled in other module like php-fpm beside XCache" => "启用 coredump 设置. 这样万一发生 PHP 异常退出时可保存调试信息. 这个功能也可以在其他地方启用, 如 php-fpm", "Core files found:\n" => "发现 core 文件:\n", "Disable XCache PHP Cacher (set xcache.size=0), remove the core file(s), then restart PHP. If core file appears again, report call stack backtrace in the core to XCache devs" => "禁止 XCache 缓存器 (设置 xcache.size=0), 删除 Core 文件, 再重启 PHP. 如果不用 XCache 时不出现 Core, 请从 Core 中取得 call stack back trace 信息报告回 XCache 开发组", "You can see core files if PHP crash in %s if PHP crash" => "如果 PHP 异常退出, 您可以在 %s 目录看到 Core 文件", "Readonly Protection" => "只读保护", "Set to enabled but not available" => "设置为启用, 但目前不可用", "Use xcache.mmap_path other than /dev/zero" => "设置 xcache.mmap_path 使用 /dev/zero 以外的值", "Disabled" => "已禁止", "Enable readonly_protection == --performance & ++stability. Disable readonly_protection == ++performance & --stability" => "启用 readonly_protection == --性能 & ++稳定性. 禁用 readonly_protection == ++性能 & --稳定性", "XCache modules" => "XCache 模块", "Acceptable. Module(s) listed are built into XCache but not for production server.\nLeave it as is if you're feeling good.\nRe-configure XCache with the module(s) disabled if you're strict with server security." => "可接受. 以上列出的模块已编译入 XCache, 但这些模块并非用于产业服务器.\n如果您觉得没大碍, 就保持现状.\n如果您对稳定性/安全性要求极其严格, 建议重新编译 XCache 不启用这些模块\n", "XCache test setting" => "XCache 测试设置", "xcache.test is for testing only, not for server. set it to off" => "xcache.test 仅用于开发测试用, 不用于服务器. 将它设置为 off", "PHP Version" => "PHP 版本", "The version of PHP you're using is known to be unstable: " => "您所使用的 PHP 版本, 是众所周知的不稳定版本: ", "Upgrade to new version of PHP" => "升级到更新的 PHP 版本", "Extension Compatibility" => "Extension 兼容性", "Zend Optimizer loaded" => "Zend Optimizer 载入了", "Optimizer feature of 'Zend Optimizer' is disabled by XCache due to compatibility reason; the Loader of it is still available, encoded files are still supported" => "由于兼容性问题, 'Zend Optimizer' 的优化器已被 XCache 禁止; 其加载器依然可用, 可继续使用 Zend 加密的文件", "SAPI Compatibility" => "Extension 兼容性", "CGI is not supported" => "不支持 CGI", "Use FastCGI or FPM instead" => "请改用 FastCGI 或者 FPM", "PHP_FCGI_CHILDREN should be >= 1 and use 1 group of parent/childs model. See http://xcache.lighttpd.net/wiki/Faq" => "PHP_FCGI_CHILDREN 应该设为 >= 1 并且使用 1 组单父多子模型. 参见 http://xcache.lighttpd.net/wiki/Faq", ); PK[[_i@@(htdocs/diagnosis/lang/zh-traditional.phpnuW+A