前几天在Firebug扩展开发一文中就提到过Firephp这个基于Firebug的插件,通过使用Firephp你可以在Firebug的Console栏中看到要调试的数据,而不影响php程序的正常执行,所以说,这东西对于Ajax开发是很有帮助的!下面一起来看下Firephp的使用方法。
第一步:安装
1.如果你的FireFox没有 Firebug这个插件的话,首先要安装 Firebug这个插件,可以到其官方地址去下载: http://www.getfirebug.com/
2.安装Firephp,官方地址:http://www.firephp.org/
第二步:
包含fb.php,根据你放置的 Firephp文件的地址来包含fb.php,比如:
require('FirePHPCore/fb.php')
第三步:
打开输出缓冲(因为 Firephp主要用到的是header函数),有如下三种方法:
- 在程序的前面加上ob_start()
- 修改php.ini 将output_buffering设为1或者on
- 修改apache的设置,在配置文件中加上php_flag output_buffering on
可以调试输出以下数据类型:
- 字符串,可以分为LOG,INFO,WARN,ERROR四种
- Object或者Array
- 通过sql查询返回的数据
- 抛出的异常信息
- 服务器返回的信息(不输出在console中,而是NET中
require('FirePHPCore/fb.php');
echo 'FirePHP测试';
fb('Hello World'); /* Defaults to FirePHP::LOG */
fb('Log message' ,FirePHP::LOG);
fb('Info message' ,FirePHP::INFO);
fb('Warn message' ,FirePHP::WARN);
fb('Error message',FirePHP::ERROR);
fb('Message with label','Label',FirePHP::LOG);
fb(array('key1'=>'val1',
'key2'=>array(array('v1','v2'),'v3')),
'TestArray',FirePHP::LOG);
function test($Arg1) {
throw new Exception('Test Exception');
}
try {
test(array('Hello'=>'World'));
} catch(Exception $e) {
/* Log exception including stack trace & variables */
fb($e);
}
fb(array('2 SQL queries took 0.06 seconds',array(
array('SQL Statement','Time','Result'),
array('SELECT * FROM Foo','0.02',array('row1','row2')),
array('SELECT * FROM Bar','0.04',array('row1','row2'))
)),FirePHP::TABLE);
?>
运行时你可以看到如下界面