首页 > 代码库 > 微信调试、API、AJAX的调试 SocketLog

微信调试、API、AJAX的调试 SocketLog

SocketLog适合Ajax调试和API调试, 举一个常见的场景,用SocketLog来做微信调试, 我们在做微信API开发的时候,如果API有bug,微信只提示“改公众账号暂时无法提供服务,请稍候再试” ,我们根本不知道API出来什么问题。 有了SocketLog就不一样了, 我们可以知道微信给API传递了哪些参数, 程序有错误我们也能看见错误信息

技术分享


    • 正在运行的API有bug,不能var_dump进行调试,因为会影响client的调用。这时候用SocketLog最好,SocketLog 通过websocket将调试日志打印到浏览器的console中。你还可以用它来分析开源程序,分析SQL性能,结合taint分析程序漏洞。

    • SocketLog 支持SAE等特殊的运行环境,ChromePHP,FirePHP都不支持SAE,因为SAE接收不到非标准HTTP协议的Header,而ChromePHP和FirePHP传递了自定义Header

    • Chrome插件安装: https://chrome.google.com/webstore/detail/socketlog/apkmbfpihjhongonfcgdagliaglghcod

    • 目录结构:

    • chrome 目录是 chrome插件的源代码

    • chrome.crx 文件是chrome插件的安装包, 如果你无法从chrome应用商店安装,可进行手动安装, 浏览器地址栏输入并打开: chrome://extensions/  ,然后将chrome.crx拖入即可安装。

    • php 目录是php相关脚本。   SocketLog.server.php 是一个 Websocket服务器,  SocketLog.class.php是发送日志的类库,我们在发送日志的时候,需要载入这个类库然后调用函数slog即可。

    • 效果展示: 我们在浏览网站的时候在浏览器console中就知道程序做了什么,这对于二次开发产品十分有用。 下面效果图在console中打印出浏览discuz程序时,执行了哪些sql语句, 以及执行sql语句的调用栈。程序的warning,notice等错误信息也可以打到console中。技术分享

微信调试、API、AJAX的调试 SocketLog