微信本地调试终极工具
in PHP with 2 comments

微信本地调试终极工具

in PHP with 2 comments

工具

介绍

我们在微信开发时或多或少会遇到不方便调试BUG的问题,尤其是刚接触微信开发这一块的时候,不出错误信息简直不能忍,难道要一行一行排除吗。或者直接在服务端开发,那样除非对服务器也很了解而且掌握一定的网络方面的知识,而且你还得忍受不断同步文件的痛苦。。。和想砸电脑的冲动。

还有一种方法是使用微信公众平台接口调试工具
但是这个办法也不是很好,有时候语法错误就很难检查到,例如:
wx1.jpg

又或者在网上找了一下微信开发 调试,很多方法倒是很好,但是很多对新手都不友好,那么我们怎么样 在本地 去优雅的调试微信开发中的BUG呢。

工具详情

就是大名鼎鼎的 ngrok。简单介绍下 ngrok 的原理:

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok
可捕获和分析所有通道上的流量,便于后期分析和重放

其实说白了就是反向代理,和国内的 花生壳、nat123 一样的东西。只不过 ngrok 是开源的一个项目,所以嘛,你可以把它部署到自己的服务器上,对自己的电脑进行反向代理实现外网访问,或用于临时测试等场景,总之可玩性非常高。

PS:不用自己部署,网上很多提供免费ngrok服务的。例如 http://ngrok.2bdata.com/。前段时间部署了ngrok的服务器过期了,最近都在用这家的,顺便给打个广告吧,拿人手短吃人嘴软嘛。。。

使用场景

那么这玩意又和标题的最强本地微信测试工具有什么关系。
1、微信开发中需要你有一台服务器,使用 ngrok 可以把你本地环境当成服务器(只需要稍微配置一下)。
2、自带的 web interface 可以记录所有 http 请求和详细信息。

使用

ngrok使用

暂时不做介绍,网上一大堆教程。

DEBUG

使用极其简单。简单到令人发指。
比如:
我们在服务端接受一个微信服务器POST过来的一个用户发送的消息的XML数据包,并作出相应回复,结果代码bug了,由于是微信服务器给我们服务器 POST 的数据,我们debug起来很不方便,那么此时:
wx2.jpg

那么我们打开127.0.0.1:4040
wx3.jpg

可以看到所有的请求,和右侧的请求的详细信息:
那么我们找到刚刚的 500的错误请求信息:
wx4.jpg
上面是POST过来的XML数据包。

wx5.jpg
下面有详细的错误页面报错信息。如果感觉不方便那就把它复制下来放到任意.html文件中用浏览器打开。

wx6.jpg

是不是很眼熟呢。然后就去找BUG就可以了。
再也不用翻日志了,再也不用一行一行debug了。

其他

ngrok 的可玩性非常高,前段时间在玩的时候自己搭建了一个 ngrok 服务器,电脑不方便搬回宿舍,没关系,只要不断电,开着ngrok服务,就能躺床上远程 ssh 过来做事情。或者在家搞个私有云盘之类的,配合博主之前发过的关于owncloud的一些教程。(快上车)

我打算过几天详细的写一篇ngrok的部署教程和使用教程。(大概五一吧,我也不知道,最近在学 laravel 框架和微信开发)(又TM在不务正业了,说好的好好写代码呢?)

Responses
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
  1. stc

    晗哥真牛逼

    Reply
    1. @stc

      哈哈

      Reply