api(new Req($req));
DebugHelper::debug($ret);
}
/**
* 运行环境自检:
* PHP 版本,扩展模块
* redis操作性
* sqldb操作性
*/
static function selfTest() {
// 检查gameOnline状态
echoLine("GAME_ONLINE := " . (GAME_ONLINE ? "True" : "False"));
// 检查phpversion
echoLine('PHP version: ' . PHP_VERSION);
if (version_compare(PHP_VERSION, REQUIRED_PHP_VERSION, '<')) {
echo ('This code request at least PHP version ' #
. REQUIRED_PHP_VERSION . '.
\n');
}
echoLine("loaded extensions:"); // 已加载的扩展模块信息
echoLine(var_export(get_loaded_extensions(), true)); # 打印
$required = array('iconv', 'json', 'mcrypt', 'SPL', 'pcre', # # 打算做个检查推荐模块的逻辑呢
'Reflection', 'session', 'zip', 'zlib', 'PDO', 'openssl',
'curl', 'mbstring', 'mysqli', 'pdo_mysql', 'redis',
'sockets', 'xdebug');
// 检查redis地址, 可操作性
if (gMem()->set('test-selftest', "self cheking...")) {
echoLine("Redis check ok!");
} else {
echoLine("Redis check failed!");
echoLine(var_export(config::Inst()->nosql, true));
}
// 检查MySQL地址, 可操作性
if (daoInst()->tableExist('tab_token_gift')) {
echoLine("sqldb test ok");
} else {
echoLine("sqldb test failed!");
echoLine(var_export(config::Inst()->paydb), true);
}
}
public function testMemDelete($key) {
$mem = gMem();
$res = $mem->delete($key);
return $res;
}
public function testMemSet($key, $value) {
$mem = gMem();
$res = $mem->set($key, $value);
return $res;
}
public function testMemGet($key) {
$mem = gMem();
$res = $mem->get($key);
return $res;
}
public static function dtCurrent() {
$timezone = date_default_timezone_get();
echoLine($timezone . " " . date('Y-m-d H:i:s'));
echoLine("tsweek: " . TimeUtil::tsWeek());
echoLine("tsday: " . TimeUtil::tsDay());
}
//----------------------------------------------------
public static function efficiencyOfOldLog() {
/**
* 测试结果说明,采用写本地文件的性能还是略高于写redis数据库的.
*/
for ($i = 0; $i < 1000; $i++) {
CLog::pay("我们的祖国像花园,花园里花朵真鲜艳.和暖的阳光照耀着我们,每个人的脸上都笑开颜.");
}
}
public function testRedisGet($key) {
$mem = gMem();
$ret = $mem->get($key);
DebugHelper:: var_dump($ret);
$mem->close();
return $ret;
}
/**
* 删除某个key
* @param type $key
*/
public function testRedisDel($key) {
$mem = gMem();
$num = $mem->delete($key);
echo $num > 0 ? 'ok' : 'not exist';
$mem->close();
}
public function testRedisLua($key, $value) {
$mem = gMem();
$script = <<redis->eval($script, 1, $key, $value);
DebugHelper:: var_dump($ret);
$mem->close();
}
public function testBinSearch($v) {
$arr = array(1, 2, 3, 4, 4, 11, 12, 124);
$start = 0;
$end = count($arr) - 1;
while ($start <= $end) {
$index = intval(($start + $end) / 2);
if ($v < $arr[$index]) {
$end = $index - 1;
} elseif ($v > $arr[$index]) {
$start = $index + 1;
} else {
echo($index);
return;
}
}
echo($index);
}
public function tsetIp() {
DebugHelper::debug(HttpUtil::getClientEP());
}
public function testLogfile() {
CLog::warn("日志测试", 'log');
}
public static function testDecodeToken($token) {
echoLine("中文显示");
$activeCode = CipheredBase32::Decode($token); # 解码
var_dump($activeCode);
$codePlatStr = GameConstants::GetPlatStringByActivteCode($activeCode); # platstr
var_dump($codePlatStr);
}
}