PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简介
之前用ThinkPHP时发现有个 trace 函数能够跟踪调试,感觉非常有意思。网上搜索了下类似的东西。发现了 ChromePhp ,曾经没想过这样来调试 PHP 程序。感觉非常方便,非常实用。
ThinkPHP 使用的是自己生成的 HTML 随模版一起输出来显示,偶尔会遇到一些莫名其妙的问题,效果不是太好。
另一些也是类似的方法。但输出的主要是在模版中添加 JS 代码。调用浏览器的调试方法进行输出调试
如 console.log('PHP的一些调试输出内容');
ChromePhp 是通过header来传输调试内容并通过安装 Chrome 浏览器的插件读取header 信息显示到浏览器调试面板中进行查看,功能比較强大。对页面没什么太多干扰。调试也更方便,火狐下据说也有类似的 firePhp 。只是如今不怎么用火狐浏览器也没去測试过
官网地址:
这是该开源项目的 Github 地址:
Github : https://github.com/ccampbell/chromephp
这是 Chrome 内核浏览器插件的安装地址:
https://chrome.google.com/extensions/detail/noaneddfkdjfnfdakjjmocngnfkfehhd
只是老是被墙,不容打开,并且仅仅能是 google chrome 才干安装,我找了老半天仅仅找到个 3.0 的插件
插件下载地址:
http://download.csdn.net/detail/zsjangel/7535201
能够安装后试试 升级到如今最新的 4.1。我是这样成功了的
3.0 的插件图标和 4.1 的不一样的:
以下是4.1版本号。黑色表示为开启插件,点击启动
下方显示蓝色时表示启动,能够在面板中看到调试信息
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXptZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
PHP下的用法:
ChromePhp::log('Hello console!');
ChromePhp::group('this is group');
ChromePhp::log('Hi 神神的蜗牛!');
ChromePhp::error('something went wrong!');
ChromePhp::groupEnd();
ChromePhp::table(array(array('aa'=>'bb', 'cc'=>11), array('aa'=>'cc', 'cc'=>22)));
group 表示默认直接展开以下的全部都是一组调试信息。一直到 groupEnd 结束,显示效果和普通的 log 是不一样的
若使用 groupCollapsed 则默认收缩不显示整个 group 信息
table 的參数必须是 二维数组,否则将不显示,数组的键名及字段名
以下是效果图:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
刚刚又试了 firefox 下的 FirePHP 插件,他们的功能都非常类似,但 FirePHP 比 ChromePHP 更热门些,也不会被墙安装非常方便。后者的 github 项目似乎一年没有维护更新了。也可能是没什么可更新了的吧。只是 firefox 和 Chrome 浏览器比起来,后者应该使用的人很多其它了吧。
FirePHP 官方主页:(下载 PHP 端类库)
http://www.firephp.org/HQ/Install.htm
安装
PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简介的更多相关文章
- PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍
之前用ThinkPHP时发现有个 trace 函数可以跟踪调试,感觉很有意思,网上搜索了下类似的东西,发现了 ChromePhp ,以前没想过这样来调试 PHP 程序,感觉非常方便,很有用. Thin ...
- uploadify上传文件Firefox浏览器上传失败解决方法
近期做文件上传使用到了uploadify 可是出现了各种奇葩的问题.并且针对各个不同浏览器问题不同 在Firefox中.非常坑爹的是.每次上传就丢失session值,可是我的系统在登录.保存文件文件夹 ...
- 浏览器上的Qt Quick
你想不想在浏览器上运行你的Qt Quick程序呢?在Qt 5.12之前,唯一的方法是使用Qt WebGL Streaming技术把界面镜像到浏览器上.但该方法有不少缺陷,下文会说.前不久随着Qt 5. ...
- 跟踪调试JDK源码时遇到的问题及解决方法
目录 问题描述 解决思路 在IntelliJ IDEA中调试JDK源码 在eclipse中调试JDK源码 总结 问题描述 最近在研究MyBatis的缓存机制,需要回顾一下HashMap的实现原理.于是 ...
- VSCode调试Html中的脚本 vscode前端常用插件推荐,搭建JQuery、Vue等开发环境 vsCode 添加浏览器调试和js调试的方法总结 VS Code - Debugger for Chrome调试js
一.背景 使用Visual Studio Code写了一个简单的Html页面,想调试下其中script标签里的javascript代码,网上查了一通,基本都是复制粘贴或者大同小异的文章,就是要安装De ...
- IE浏览器中用Firebug调试网站的方法
对于大部分做前端设计者而言应该都使用过Firefox浏览器下一款调试网站的扩展插件firebug吧,功能非常的强大,对于我们找出网页兼容性的问题非常的有效.不过对于很多不喜欢使用Firefox浏览器的 ...
- 利用ChromeCROSS可以在chrome浏览器上调试跨域代码
利用ChromeCROSS可以在chrome浏览器上调试跨域代码 1.下载ChromeCROSS文件,可百度下载,或者在我的百度云上下载:链接: https://pan.baidu.com/s/10_ ...
- vsCode 添加浏览器调试和js调试的方法总结
vsCode 添加浏览器调试和js调试的方法 1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { " ...
- vsCode 添加浏览器调试和js调试的方法
1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { "version": "0. ...
随机推荐
- caffe数据读取
caffe的数据读取分为lmdb和 待清理,包括fast 这个一系列是怎么转换成lmdb数据的
- pom.xml配置引用项目时不生效
1 在项目pom.xml配置中引用项目A,但是编译时,取提数引起是B: 2 原因是:[Java Build Path - Projects] 引用的还是老的项目B,删除该引用即可解决.
- Python学习-列表的修改,删除操作
列表的修改操作 列表中的许多操作和字符串中有许多的相同点,因为列表是一个有顺序可变的元素集合,所以在列表中可以进行增加,删除,修改,查找的操作. 列表的修改操作: 如果你想单个修改列表中的某一个元素, ...
- python多线程和多进程(一)
一.多线程 Python的标准库提供了两个模块:_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装.绝大多数情况下,只需要使用thr ...
- python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。
1.首先分析请求,打开4399网站. 右键检查元素或者F12打开开发者工具.然后找到network选项, 这里最好勾选perserve log 选项,用来保存请求日志.这时我们来先用我们的账号密码登陆 ...
- Python 中的变量还能这样理解(白话)
一.案例分析 1.思考 计算软件测试大佬柠檬小姐姐,每月能存多少钱 # 计算软件测试大佬柠檬小姐姐,每月能存多少钱 # 坐标:深圳 # 2018年1月份 # 房租水电 4000元 # 伙食费 1000 ...
- About SQL Server 2016 CPT2
SQL Server 2016 CTP2已经发布,可以从以下主页进行下载. http://www.microsoft.com/en-us/server-cloud/products/sql-serve ...
- Android OkHttp(1)
Android OkHttp(1) OkHttp是一个流行的第三方开源网络请求框架,在目前的一些APP开发中比较流行.Android平台开源的网络请求框架不少,比如常见的Volley, Asyn ...
- 从一个简单的组件化封装写优化DOM操作
/* *缺点 * 1. 还需要我们自己手工维护dom状态,以数据的思想去思考 *2. 数据改变后,还需要我们自己手动改变dom *3. * */ class LikeButton{ construct ...
- 序列终结者(bzoj 1521)
Description 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这 ...