Discuz X2.0 调试应用通信的重要函数

从“通信失败”,找到这个信息的由来:

打开  ./control/admin/app.php 文件,找到 onping 方法,可以看到这个$status 等于1的时候会输出通信成功,除此之外输出通信失败,这样我们就可以设置好断点获取状态信息,顺藤摸瓜找到问题所在,源码如下:

function onping() {
		$ip = getgpc('ip');
		$url = getgpc('url');
		$appid = intval(getgpc('appid'));
		$app = $_ENV['app']->get_app_by_appid($appid);
		$status = '';
		if($app['extra']['apppath'] && @include 
			$app['extra']['apppath'].'./api/'.$app['apifilename']) {
			$uc_note = new uc_note();
			$status = $uc_note->test($note['getdata'], $note['postdata']);
		} else {
			$this->load('note');
			$url = $_ENV['note']->get_url_code('test', '', $appid);
			$status = $_ENV['app']->test_api($url, $ip);
		}

		if($status == '1') {
			echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "<img src=\'images/correct.gif\' border=\'0\' class=\'statimg\' \/><span class=\'green\'>'.$this->lang['app_connent_ok'].'</span>";testlink();';
		} else {
			echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "<img src=\'images/error.gif\' border=\'0\' class=\'statimg\' \/><span class=\'red\'>'.$this->lang['app_connent_false'].'</span>";testlink();';
		}

	}
在处理这个时候问题的时候,中间遇到点小问题当$status打印出来为1的时候,也是“通信失败”,找了半天发现是BOM的问题,在这里给大家提个醒,如果遇到类似问题可以用UltraEdit工具另存为文件(保存的时候可以通过配置选择是否添加 bom)
posted @ 2011-07-19 10:53  jiangyao  阅读(808)  评论(0编辑  收藏  举报
我要啦免费统计