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);
}
}
// rsa加密传输
public static function testMyRsaCommunication()
{
require_once 'OpenSSLVerify.php'; #Ps. 这个文件和类名没有对应关系.
MyRsa::Test();
echo '
';
MyRsa::testSign();
echo '
';
echo true;
}
public static function testPayDb()
{
global $zoneid;
$zoneid = 1;
$db = CPayInit();
$SQL = "INSERT IGNORE INTO `tab_rankuserlog_1` (`id`, `cash`, `oid`, `info`, `insertDatetime`, `lastUpdatetime`) VALUES (NULL, '1', '2', '3', CURRENT_TIMESTAMP, '2015-11-24 00:00:00');";
$arr = $db->query($SQL);
DebugHelper::var_dump("TestDb:" . $arr);
$db->close();
}
public function testBase32($code)
{
// $code = "r4fismgn";
DebugHelper::debug("code: $code
");
DebugHelper::debug("解码:
");
$decode = CipheredBase32::Decode($code);
DebugHelper:: var_dump($decode);
DebugHelper::debug("plat:" . GameConstants::GetPlatStringByActivteCode($decode));
}
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 testVerifySign()
{
$data = 'wanggang';
$sign = 'KGNg2I7kis9vz1p2uzZZ1igj6fVERxvGrQK4zJPGPiEIjdzyZ3bogxG2kMwDn1zjQBlqGqzjcwKhCWf6JVoDT2WPnxYd9O4qF+kaIaMpOq4ZNy+dQL+FnsCRMhl+EV7ejK9RUgw7AkLSqIm3gRdMEiZnHjHk6C2JtHUgLZJ+nyY = ';
$keypath = ROOTDIR . "/Util/key";
// 验证并查找回归密码记录
$myrsa = new MyRsa($keypath);
if ($myrsa->verify($data, $sign)) { // 验证下签名
echo "签名验证成功!";
} else {
echo '验签失败';
}
}
public function testMemGet($key)
{
$mem = gMem();
$res = $mem->get($key);
return $res;
}
// 微秒
public static function microtime_float()
{
echoLine(microsecond());
}
public static function dtCurrent()
{
echoLine(TimeUtil::tsWeek());
$timezone = date_default_timezone_get();
echoLine($timezone);
echoLine(date('Y-m-d H:i:s'));
return date('Y-m-d ') . (date('H') + 8) . date(':i:s');
}
//----------------------------------------------------
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 testArrayInsert()
{
$array = array(1, 2, 3, 4, 11, 12, 124, 1245);
StlUtil::arrayInsert($array, 0, 0);
DebugHelper::debug($array);
}
public function testArrayFunc()
{
$array = ArrayInit();
$array[] = 1;
$array[] = 1;
$array[] = 6;
$array[] = 1;
$index = StlUtil::arrayIndexOf($array, 6);
DebugHelper::debug($index);
}
public function testMD5()
{
$v3 = CV3Init();
$paras = array();
$paras["openid"] = "382E5D8EDB8E6BAE17B9EE44E532631F";
$paras["ep"] = HttpUtil::getClientEP();
$paras["ts"] = now();
$self_url_path = "atomsoft.com";
$sig = $v3->cee_self_sig($paras, $self_url_path);
$v3->close();
DebugHelper::debug($sig);
}
public function tsetIp()
{
DebugHelper::debug(HttpUtil::getClientEP());
}
public function testLogfile()
{
CLog::warn("日志测试", 'log');
}
}