插件作者的标准出来了!Manyou诚邀开发者加盟!
《站长》&《程序员》杂志火热征集开发者
立即免费下载 Discuz!6.1.0正式版
Discuz! 6.1.0 使用说明
Discuz!NT2.5正式版发布
开放源码下载
UCenter Home 1.2 正式版发布
官方站 | 帮助文档
基于ECShop的网店托管-卖否
PHP就业培训直通车 | LAMP培训大连
Discuz!收费服务内容及价格
论坛免费升级 手握手
Discuz!/ECShop 专用官方虚拟主机
【九城-奇迹世界】专题活动开始了!
Comsenz 招聘信息
网店系统ECShop v2.6.0正式版火热发布
基于Discuz!的免费论坛空间5D6D
参与有奖社区调查 赢取台湾5日游
 11 12
发新话题
打印

UC API的调试 小技巧

UC API的调试 小技巧

最近在调试一些应用和UC整合,
其间经常遇到莫名其妙的问题,无法判断到底是什么原因导致的。

于是想了个简单的办法来处理,呵呵
我在api/uc.php 中添加几行代码。。
复制内容到剪贴板
代码:
if(MAGIC_QUOTES_GPC) {
        foreach($get as $key=>$val) {
                $get[$key] = stripslashes($val);
        }
}
//========以下为添加的用于DEBUG的代码=====================
define('API_DEBUG',1);  //需要的时候将调试开关打开,平时关闭即可
if(defined('API_DEBUG') && API_DEBUG)
{
        $logfile=DISCUZ_ROOT.'./api/api.log';
        !file_exists($logfile) && @touch(DISCUZ_ROOT.'./api/api.log');
        $str=file_get_contents($logfile);
        $str=date('Y-m-d H:i:s')."\n".var_export($get,TRUE)."\n\n".$str;
        @file_put_contents($logfile,$str);
        unset($str);
}
//========DEBUG代码结束====================
if(time() - $get['time'] > 3600) {
        exit(time().'Authracation has expiried');
}
这样在调试文件中可以得到很多调试信息

如下
复制内容到剪贴板
代码:
2008-04-26 23:31:23
array (
  'action' => 'synlogin',
  'username' => 'test22',
  'uid' => '15',
  'password' => 'cc35729f48ecaed3f2f8cc2073875820',
  'time' => '1209223883',
)

2008-04-26 23:31:12
array (
  'action' => 'synlogout',
  'time' => '1209223872',
)

2008-04-26 23:31:05
array (
  'action' => 'synlogin',
  'username' => 'test2',
  'uid' => '15',
  'password' => 'cc35729f48ecaed3f2f8cc2073875820',
  'time' => '1209223301',
)
忘了说一个重要的的了

DISCUZ_ROOT.'./api/api.log' 这个是可以随便取名的的,但是必须是目录可写

[ 本帖最后由 zhy_aid_cn 于 2008-4-28 13:39 编辑 ]
好像不错。支持一下。虽然看不懂。
我也看不懂
呵呵,需要写api/uc.php 文件的朋友,会看得懂的。
我觉得是非常好的主意。
极限地带,军人之家,http://www.plajx.cn,
估计我以后也会遇到这样的问题
UC很美,为什么?
因为我只能欣赏她
这就是我心目中最美的东西
楼主的 debug 代码加的不错!
( 【猴猴的山林茶社】
山林茶社 Discuz! 群:28702398     山林茶社 UCenter 开发、交流群:12893286
楼主就是输出了一下UC传输过来的$get[ ]数组的参数信息,不错
这个技巧好用吗,我想学下
 11 12
发新话题
版块跳转