socketlog的安装和使用
- socketlog的使用范围
- socketlog比较适用于ajax调试和api的调试,经典应用莫不过于微信众多的api使用调试,使用socketlog可以很条理清楚的查看到api传递的参数,加载的性能,错误调试等等方面,所以掌握socketlog的安装和使用对微信公众号开发等api型开发来说就正如常言道磨刀不误砍柴工
- socketlog 安装
- 客户端安装插件
插件下载地址:https://github.com/luofei614/SocketLog
浏览器安装插件:
在chrome浏览器中地址栏中输入chrome://extensions/
将下载文件中的chrome.crx拖入到窗口中即可完成插件安装
2.服务器端安装nodejs
(1)首先安装nodejs,在linux端的话,直接到 http://nodejs.cn/download/,选择对应的版本下载即可,然后用ftp将压缩包上传到服务器端
(2)安装nodejs
#解压压缩包
tar -zxv -f node-v0.10.29-linux-x64.tar.gz
#修改目录
mv node-v0.10.29-linux-x64 node
#建立软连接(建议使用绝对路径,如使用相对路径,必须是相对本文件查找到目的文件的位置)
ln -s /home/node/bin/npm /usr/local/bin/
ln -s /home/node/bin/node /usr/local/bin/
#测试成功
node -v
#如果出现版本即为安装成功
3.服务器端socketlog的安装
(1) 启用Websocket服务,该服务是nodejs写的,在server目录下,请先确保你的环境已经安装nodejs, 启动Websocket服务运行命令 node server/index.js , 将会在本地起一个websocket服务 ,监听端口是1229 (如果是阿里云服务器需要在安全组添加1229的规则)。如果想服务后台运行: nohup node server/index.js > /dev/null &
3.配置
(1)在服务器的入口文件需要加入引入代码
if(!function_exists('slog')){
include './php/slog.function.php';
//配置
slog(array(
'host' => 'localhost',//websocket服务器地址,默认localhost
'optimize' => true,//是否显示利于优化的参数,如果运行时间,消耗内存等,默认为false
'show_included_files' => true,//是否显示本次程序运行加载了哪些文件,默认为false
'error_handler' => true,//是否接管程序错误,将程序错误显示在console中,默认为false
'force_client_ids' => array(//日志强制记录到配置的client_id,默认为空,client_id必须在allow_client_ids中
'paint',
//'client_02',
),
'allow_client_ids' => array(//限制允许读取日志的client_id,默认为空,表示所有人都可以获得日志。
'paint',
//'client_02',
//'client_03',
),
),'config');//输出日志
}
设置client_id
: 在chrome浏览器中,可以设置插件的Client_ID
,Client_ID
是你任意指定的字符串。
4.实现对数据库进行调试
(1)SocketLog还能对sql语句进行调试,自动对sql语句进行explain分析,显示出有性能问题的sql语句
$link=mysql_connect( 'localhost:3306' , 'root' , '123456' , true ) ;
mysql_select_db('kuaijianli',$link);
$sql="SELECT * FROM `user`";
slog($sql,$link);
(2)在tp框架中,只需要在/ThinkPHP/Library/Think/Db/Driver.class.php
的 query 和execute 方法中
添加slog($this->queryStr,$this->_linkID)即可
socketlog的安装和使用的更多相关文章
- 谷歌浏览器安装 socketLog
第一步(本地浏览器安装调试扩展) 下载扩展包并解压 链接:https://pan.baidu.com/s/14df0ewl_3wjRHc8H1jsrWQ提取码:yyu1 打开谷歌浏览器,地址栏输入 c ...
- 微信调试、API、AJAX的调试 SocketLog
SocketLog适合Ajax调试和API调试, 举一个常见的场景,用SocketLog来做微信调试, 我们在做微信API开发的时候,如果API有bug,微信只提示"改公众账号暂时无法提供服 ...
- 通过SocketLog快速分析OneThink程序
通过SocketLog快速分析OneThink程序 http://www.thinkphp.cn/topic/10846.html 浏览:2332 发布日期:2014/02/08 分类:技术分享 ...
- socketlog
说明 SocketLog适合Ajax调试和API调试, 举一个常见的场景,用SocketLog来做微信调试, 我们在做微信API开发的时候,如果API有bug,微信只提示“改公众账号暂时无法提供服务, ...
- 通过SocketLog快速分析php程序
转载自http://www.thinkphp.cn/topic/10846.html 正在运行的API有bug,不能var_dump进行调试,因为会影响client的调用.这时候用SocketLog最 ...
- CentOS安装使用.netcore极简教程(免费提供学习服务器)
本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用. 仅针对CentOS,其它Linux系统类似,命令环节稍加调整: 需 ...
- centos下安装nodejs及websocket
软件环境: VMware Workstation CentOS 6.5 NodeJS v0.12.5 安装过程: Step 1.确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
随机推荐
- VIM 文件搜索与替换
文件内搜索与替换 :[range]s/pattern/string/[c,e,g,i] 例如: :%s/oldword/newword/cg //对文本中全部匹配进行替换 :m,ns/oldword/ ...
- Spark性能调优之资源分配
Spark性能调优之资源分配 性能优化王道就是给更多资源!机器更多了,CPU更多了,内存更多了,性能和速度上的提升,是显而易见的.基本上,在一定范围之内,增加资源与性能的提升,是成正比的:写完了 ...
- SDK是什么?什么是SDK
从 SDK导航 看到的 应该比较专业! SDK的英文全名是:software development kit,翻译成中文的意思就是"软件开发工具包" 通俗一点的理解,是指由第三方服 ...
- dedecms_
2012-7-5(no1)当我们点击检索结果的某个电影超链接时,如何跳转到对应的内容页[本资源由www.qinglongweb.com搜集整理] dedelist标签 --可以嵌套 项目移植: mys ...
- C#进行CAD二次开发环境配置
最近被公司分配到了做CAD二次开发.也是初次接触这方面的东西,其实是有些无从下手的感觉.因为公司这边也没有人有时间带我,只能是自己看书,然后再写一些Demo,再结合实际的应用来一点点的学习.废话不多说 ...
- 前端HTML介绍
一.HTML简介 HTML定义: 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分.网页文件本身是一种文本文件,通过在文本文件中添加 ...
- redux学习日志:关于react-redux
首先先强调一句:一定要多读官方文档,而且要精读,否则你会忽略掉很多东西! 一,Provider 刚开始看的时候,大致浏览了一下,知道了这个组件是能够接收store作为它的属性,然后它里面的子组件就可以 ...
- 微信屏蔽js分享、复制链接
页面内引入js(不放在页面内部不起作用) $(function(){ function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); ...
- Linux exec与文件描述符
看到好几篇文章讲述exec都是一知半解,所以我尽量说的清楚明白一些.本文首先讲述Linux文件描述符,然后是exec,最后举例说明exec I/O重定向及其用法. 概念:exec命令用于调用并执行指令 ...
- Arrays.sort解析
Arrays.sort()解读 在学习了排序算法之后, 再来看看 Java 源码中的, Arrays.sort() 方法对于排序的实现. 都是对基本数据类型的排序实现, 下面来看看这段代码: Arra ...