亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

從測試域名遷移到正式域名,直接將本地的程序上傳到正式服務器后,發現UCenter無法正確通信成功。
線上域名:http://www.ezcx.net
ucenter: http://www.ezcx.net/UC
所有涉及到的配置文件都全部正確配置,打開ucenter里的應用列表,看到應用的狀態仍然是“無法通信”,于是進行了跟蹤。

程序開發必不可少的要去調試。問題可能是多種多樣的,所以需要我們自己能找到解決問題的方法。

一、通信失敗如何調試 如下圖所示

看到這個不要怕,其實問題遠沒有你想的那么復雜

既然是調試,就是刨根問底,就是順藤摸瓜,那就先找個到藤

注:本教程使用Firefox瀏覽器,這里不是給他AD,是Firefox的一系列調試工具我用的比較熟練

1、我們先看看“通信失敗”這四個字是怎么來的?

大家有沒有感覺這個通信失敗或者通信成功是在頁面加載之后才顯示出來的。對這個地方并不是頁面直接輸出的。而是頁面重新去加載js去判斷之后顯示的。

我們來看這個頁面的源代碼。ie下可以直接點擊右鍵查看源文件,firefox需要選擇 本幀 --》查看幀源代碼。

之后我們在源代碼中找到剛才顯示通信失敗的那個標簽。這個不難吧。如下圖所示

這個通信狀態就是圖中高亮的那個js處理的結果。看上去和正常的js調用不一樣。別怕,看這個源碼的開始那個js代碼。

1. 2. 3. 4. 5. 6.

復制代碼

明白了吧。

2、既然“藤”找到了,那我們就開始“摸”吧

copy這段代碼直接通過瀏覽器訪問。
 
這下明白那個通信失敗四個字就來源于此了吧。呵呵。 但是還是不知道為啥失敗啊?

別急,還沒有摸到瓜,我不喊停你就繼續摸啊。

接下來就要在uc的代碼中設置幾個斷點,其實就是 echo 之后die。 我們來看當前的url地址。

1. http://www.ezcx.net/admin.php?m=app&a=ping&inajax=1&url=http%3A%2F%2Fwww.ezcx.net&ip=&appid=1&random=1377646808

復制代碼

m=app 就代表著這個控制器原型是 app,因為是后臺的訪問,因此對應的就是 ucenter 目錄下的 ./control/admin/app.php

a=ping 代表著執行的是控制器原型中的 onping 方法

注:這個如果想刨根問底的同學可以去看入口程序admin.php

第3/5頁

好,有向前了一小步,我們打開 ./control/admin/app.php 文件,找到 onping 方法,源碼如下:

1. 2. 3. 4. 5. 6. 7.

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']) {

8. 9.

$uc_note = new uc_note();

$status = $uc_note->test($note['getdata'], $note['postdata']);

10. } else {

11. $this->load('note');

12. $url = $_ENV['note']->get_url_code('test', '', $appid); 13. $status = $_ENV['app']->test_api($url, $ip); 14. }

15. if($status == '1') { 16. echo

'document.getElementById(\'status_'.$appid.'\').innerHTML = "'.$this->lang['app_connent_ok'].'";testlink();'; 17. } else { 18. echo

'document.getElementById(\'status_'.$appid.'\').innerHTML = "
class=\'red\'>'.$this->lang['app_connent_false'].'";testlink();'; 19. } 20.

第4/5頁

21. } 復制代碼

這個代碼我就不一一解釋了。用點心,仔細一點都能看明白。

我們可以看到這個$status 等于1的時候會輸出通信成功,除此之外輸出通信失敗。 好,那我們直接輸出這個 $status ,看看不等于1的時候他是個什么東東。 在

1. if($status == '1') {

復制代碼

前面添加一行代碼

1. echo "\$url = $url
\n \$status = $status
\n";die('haha');

復制代碼

好的,斷點也設置了,之后保存代碼重新去刷新剛才的頁面。

3、終于快摸到“瓜”了,有點小興奮,原來調試也不難吧。

刷新頁面后看到這樣的東東


哦。原來是我的這個應用的訪問地址弄錯了。

4、摸到瓜了吧,接下來對癥下藥是不是很簡單了。

記得去掉剛才的調試代碼

穩定

產品高可用性高并發

貼心

項目群及時溝通

專業

產品經理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質開發
  • 返回頂部
主站蜘蛛池模板: 国产成人乱码一区二区三区 | 久久青青国产 | 国产人成精品香港三级在 | 海角社区hjb08真实 | 免费国产成人高清无线看软件 | 狠狠色丁香婷婷综合小时婷婷 | 国产一区二区不卡 | 毛片看看 | 免费看日批视频 | 一个人看的www免费视频中文 | 国产高清在线精品一区二区三区 | wwwxx欧美| 视频日韩p影院永久免费 | 茄子视频黄 | 国产成人永久免费视频 | caopren免费视频国产 | 亚洲sss综合天堂久久久 | 国产成a人片在线观看视频 国产成人91 | 三级网站国产 | 狠狠操天天 | 免费在线观看毛片 | 国产三级网站在线观看 | 97久久综合九色综合 | 性欧美video在线播放 | 欧美黄色视屏 | 成人男女网免费 | 久久天天躁夜夜躁狠狠85台湾 | 人人人人凹人人爽人人澡 | 香港日本三级在线播放 | 欧美成人免费一区在线播放 | 视频一区 国产 | 成年做羞羞免费观看视频网站 | 黄网站免费看 | 日韩欧美亚洲另类 | 欧洲xxx | 免费看欧美一级特黄a大片 免费看欧美一级特黄α大片 | 国产精品视频二区不卡 | 黄色一区二区三区 | 日韩精品毛片 | 又猛又黄又爽无遮挡的视频网站 | 中国黄色片一级 |