PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍

之前用ThinkPHP时发现有个 trace 函数可以跟踪调试,感觉很有意思,网上搜索了下类似的东西,发现了 ChromePhp ,以前没想过这样来调试 PHP 程序,感觉非常方便,很有用。

ThinkPHP 使用的是自己生成的 HTML 随模版一起输出来显示,偶尔会遇到一些莫名其妙的问题,效果不是太好,

还有一些也是类似的方法,但输出的主要是在模版中增加 JS 代码,调用浏览器的调试方法进行输出调试

如 console.log(‘PHP的一些调试输出内容‘);

ChromePhp 是通过header来传输调试内容并通过安装 Chrome 浏览器的插件读取header 信息显示到浏览器调试面板中进行查看,功能比较强大,对页面没什么太多干扰,调试也更方便,火狐下据说也有类似的 firePhp ,不过现在不怎么用火狐浏览器也没去测试过

官网地址:

http://www.chromelogger.com/

这是该开源项目的 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版本,黑色表示为开启插件,点击启动

下方显示蓝色时表示启动,可以在面板中看到调试信息

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

安装插件就不用说了吧,附加组件里面搜索下 FirePHP 就行了很方便,必须依赖 FireBug,最好先安装 FireBug 再安装 FirePHP

PHP简单测试代码:

		$fire = FirePHP::init();
		$fire->log('Hello console!');
		// Collapsed:true 收起该组调试信息
		$fire->group('this is group', array('Collapsed'=>true));
		$fire->log('Hi 神神的蜗牛!');
		$fire->error('something went wrong!');
		$fire->groupEnd();
		$fire->table('数据表', array(array('aa'=>'bb', 'cc'=>11), array('aa'=>'cc', 'cc'=>22)));

效果:

他们的原理也都一样,使用方式上基本上差不多的,大概就是这样啦

最后再来一个 header 传输调试信心的对比:

FirePHP 在输出时应该会判断当前浏览器,非 Firefox 不会输出 header 信息,而 ChromePHP 则未判断都是直接输出

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍,布布扣,bubuko.com

时间: 2024-11-13 03:57:03

PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍的相关文章

PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简介

之前用ThinkPHP时发现有个 trace 函数能够跟踪调试,感觉非常有意思.网上搜索了下类似的东西.发现了 ChromePhp ,曾经没想过这样来调试 PHP 程序.感觉非常方便,非常实用. ThinkPHP 使用的是自己生成的 HTML 随模版一起输出来显示,偶尔会遇到一些莫名其妙的问题,效果不是太好. 另一些也是类似的方法.但输出的主要是在模版中添加 JS 代码.调用浏览器的调试方法进行输出调试 如 console.log('PHP的一些调试输出内容'); ChromePhp 是通过he

Android平台Camera实时滤镜实现方法探讨(十)--代码地址以及简单介绍(20160118更新)

简单做了个相机和图片编辑模块,时间原因非常多功能还没有做.尚有BUG,见谅,将在以后抽时间改动 代码地址 PS:请点个Star^-^ ----------------------------------------------------------------------------------------------------------------- 简单介绍: 1.眼下包括Instagram中19个滤镜,比如amaro,branan,earlybird,freud,hefe,lomo,

uploadify上传文件Firefox浏览器上传失败解决方法

最近做文件上传使用到了uploadify 但是出现了各种奇葩的问题,而且针对各个不同浏览器问题不同 在Firefox中,很坑爹的是,每次上传就丢失session值,但是我的系统在登录,保存文件目录等处使用了session,结果session值为null: 花了大半天的时间调试, 最后发现是falsh上传的问题sessionid变了,而且在此请求上传文件地址时,系统就会从新登录,这个登录更有意思,每次都回去读IE中的cookie(我的项目中使用了cookie保存用户登录信息),而不是读Firefo

Xilinx FGPA 上板调试 集成逻辑分析工具 Integrated Logic Analyzer(ILA) 简单配置

Xilinx Vivado 提供了上板后的FPGA逻辑分析,信号视图显示等功能. 需要注意,上板后查看信号需要重新综合,并且需要耗费一定的片上布局布线资源. 1. 添加debug信号 可以对模块端口或者wire 变量进行debug信号提取,只要在verilog代码前面添加:(* MARK_DEBUG = "true" *) 即可:例如, 此时需要跑综合,检查错误并分析语义.并且通过vivado综合,进行下一步. 2. 配置debug信号 配置debug信号,用于挑选需要进行真正查看的信

3星|路骋《用得上的商学院》:100个MBA知识点的简单介绍

作者在序言中说,放弃了上亿的股票期权去念了两年全脱产的清华-MIT Global MBA.念完后认为课程不错,考虑到这种课本科毕业不能直接念,工作几年后又很难脱产来念,因此办了一个音频课程来讲这个MBA学到的知识,再加上全美最前沿的MBA商科内容,本书是这个音频节目的文稿集. 读完这个前言再看正文,比较失望. 主要内容是经济与管理的一些常见概念的普及.介绍概念的基本情况和在商业环境中的使用方法.使用方法有一些是结合最近几年的公开知名商业案例来说的,有一些是营销常识.基本没提作者供职过的两家单位的

vsCode 添加浏览器调试和js调试的方法总结

vsCode 添加浏览器调试和js调试的方法 1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { "version": "0.2.0", "configurations": [{ "name": "谷歌浏览器", //运行html文件,用谷歌浏览器打开 "type": "chrome",

IE浏览器中用Firebug调试网站的方法

对于大部分做前端设计者而言应该都使用过Firefox浏览器下一款调试网站的扩展插件firebug吧,功能非常的强大,对于我们找出网页兼容性的问题非常的有效.不过对于很多不喜欢使用Firefox浏览器的开发者而言,那么IE浏览器有没有类似的插件呢?这个当然有,新版的IE8浏览器就自带了一款开发人员工具,基本上可以跟firebug媲美,虽然在有些功能还有待完善,但用起来也是绰绰有余了.而老版本的IE6和IE7就没有这个功能了.所以我们为大家推荐一款能够在IE6和IE7平台下调试网页的工具组合:IET

浏览器看视频时,不断上传,禁止方法

在看视频的时候,发现浏览器上传的速度很快,百度之后,原来是是flash的对等网络互助没关闭,也就是说,你在下载的同时,也要上传东西,从而充当服务器的角色,视频网站可以减少自己的带宽的占用. 关闭方法: 1.打开http://www.macromedia.com/support/documentation/cn/flashplayer/help/settings_manager09.html 勾选下图: 2.在C:\Windows\System32\Macromed\Flash下找到mms.cfg

html中通过移除空格的方法来解决浏览器上的留白间距该怎么理解?

今天在切图的时候,碰到一个兼容性的问题,很幸运最后通过张金鑫老师的文章解决了这个问题!但在阅读张老师文章的时候,我有个地方不明白,在网上查了下也没找到我想要的答案,后来自己想了半天好像是这么回事,现在我把我的想法写出来,如果有不对的地方,大家一定要指出哦. 如图(事例1): 这是张老师文章中的一段事例代码,代码的结构是一个div包括着3个a元素,每个a元素之间都是各占一行,所以显示在浏览器上时,a元素之间会有一个间隙,如图: 那么问题来了!将代码改成这样,如图(事例2): 最后的结果是这样的,如