php本地浏览器调试,php浏览器端调试输出方法
1、利用js打印到浏览器控制台
function console_log($data)
{
if (is_array($data) || is_object($data))
{
echo("");
}
else
{
echo("");
}
}
其实质上就是在页面里加入了一段javascript的脚本,利用
console.log() 函数输出信息到控制台,如上方法打印出来都是字符串形式,如果将单引号去掉,PHP的数组和对象将以JS对象的方式打印出来,即echo("");,究竟使用哪一种看你喜欢的方式了。
如上就是最简单的实现方式了,但这么做有一点不太好,就是输出的很凌乱,如果你在不同的位置都调用了该函数,那么在页面的各个位置都将插入一段
//注册一个shutdown函数,如果不这么做的话记得在程序最后echo Console_log::fetch_output();
register_shutdown_function('my_shutdown');
function my_shutdown()
{
echo Console_log::fetch_output();
}
class Console_log {
private static $output = '';
static function log($data)
{
if (is_array($data) || is_object($data))
{
$data = json_encode($data);
}
ob_start();
?>
<?php if (self::$output === ''):?>
<?php endif;?>
console.log('<?=$data;?>');
<?php
self::$output .= ob_get_contents();
ob_end_clean();
}
static function fetch_output()
{
if (self::$output !== '')
{
self::$output .= '';
}
return self::$output;
}
}
Console_log::log(array(1,2));
echo '111111';
Console_log::log('test');
2、利用页头信息输出调试数据
function console_log($data)
{
if (is_array($data) || is_object($data))
{
echo("");
}
else
{
echo("");
}
}
function callback($buffer)
{
// replace all the apples with oranges
//header("debug_data: ".json_encode('1=2'));
//return (str_replace("1=2", "", $buffer));
$regex4="/
if(preg_match_all($regex4, $buffer, $matches)){
$ret = str_replace($matches[0][0], "", $buffer);
header("debug_data: ".json_encode($matches[1][0]));
$debug_data = json_encode($matches[1][0]);
}else{
$ret = $buffer;
}
return $ret;
}
register_shutdown_function('my_shutdown');
function my_shutdown()
{
console_log('debug');
}
ob_start("callback");
?>
It's like comparing apples to oranges.
3、 firebug+firephp+FirePHP库调试PHP原理
FirePHP工具通过将调试信息输出到http响应头,然后firephp插件分析响应头字符串输出相应调试信息
4、修改http请求头,后台根据$_SERVER['HTTP_TEST_HEADER_NAME']设置判断处理是否开启调试模式,结合方法3 if (isset($_SERVER['HTTP_TEST_HEADER_NAME']) && $_SERVER['HTTP_TEST_HEADER_NAME'] == 'test-header-value'){
$firephp
->setEnabled(true); }
php本地浏览器调试,php浏览器端调试输出方法相关推荐
- 移动端真机调试,手机端调试,移动端调试
移动端真机调试方法 一.chrome真机调试:局限性:只能调试手机端的chrome浏览器,其他浏览器均不适用:优点是: 简单快捷: 二.spy-debugger调试:spy-debugger,安装稍微 ...
- uc浏览器启动在pc端调试
参考推酷的文章,网址:http://www.tuicool.com/articles/naABzu 1 在移动端下载UC浏览器开发者版本, 地址:http://wap.uc.cn/index.php? ...
- h5/wap端调试、移动端调试 / vconsole、eruda、spy-debugger
关于h5调试 一.vconsole,类似小程序的调试工具,可以在手机上看见打印,真机调试h5时,我们只能看alert,但有些内容无法alert,但vconsole能做到,就像谷歌的f12一样 用法,页 ...
- chrome调试、移动端调试
chrome 32版本后,添加 DevTools for Mobile 插件就可远程手机调试 DevTools for Mobile插件安装 https://support.google.com/ch ...
- h5微信本地调试 vue_UniApp本地调试H5(谷歌chrome浏览器)跨域问题的解决方法,亲测可用...
UniApp本地调试H5跨域(谷歌chrome浏览器,UniApp内置浏览器不存在此问题)的推荐方案:欺骗浏览器,让浏览器觉得你没有跨域(其实还是跨域了,用的是代理) 客户器端解决方案(亲测可用): ...
- 在浏览器端调试代码并直接修改原文件、移动端虚拟键盘中实现搜索按钮
在浏览器端调试代码并直接修改原文件: 此调试方法可以避免在浏览器调试完代码后在到原文件手动修改代码的弊端,其具体方法如下: 1.先将要调试的页面在浏览器(Google)打开,这里小编打开桌面test文 ...
- 调试微信 PC 端的内置浏览器界面
2021-08-03 最新更新 好久没看,微信也更新了好几版.下面的方法并没有失效,不过上了 3.3.x 后的微信版本已经禁用了右键和查看 chrome://version 的功能了.进过实测,最后一 ...
- 【调试】前端调试,在电脑上调试手机浏览器
前端调试,在电脑上调试手机浏览器 参照教程:http://www.tuicool.com/articles/mAzmq2 1.按教程说的装好 weinire 之后,复制下面代码到需要调试的html上: ...
- chrome 浏览器 console 加入 jquery 测试调试 一介布衣
chrome 浏览器 console 加入 jquery 测试调试 一介布衣 var jquery = document.createElement('script'); jquery.src = & ...
- 在 Microsoft Edge 浏览器上安装 Vue 项目调试扩展插件 Vue-Devtools
在 Microsoft Edge 浏览器上安装 Vue 项目调试扩展插件 Vue-Devtools Vue-Devtools 插件是一个 Vue 项目的调试插件 Microsoft Edge 浏览器是 ...
最新文章
- React中如何优雅的捕捉事件错误
- 台湾证券交易开通运营现代化数据中心
- 主题模型LDA的实现
- php如何在类的外部修改成员属性,php中如何在外部修改类的私有或受保护属性值...
- Maven学习-目录结构
- 无法显示隐藏文件的解决方法
- Vue监视---vue工作笔记0005
- CouchDB 1.3.0的新特性以及算法的强化
- 防抖与节流的原理、实现及优化
- 《JavaScript_DOM编程艺术》Chapter05 最佳实践,Chapter06 图片库改进版---20210427
- EI收录中国期刊目录 各个版本的含义及收录例子-12年初版
- 【预测模型】基于最小二乘法算法实现股票预测matlab代码
- 积极人生/The Seven Habits of Highly Effective People
- CRM客户关系管理:赢得和留住客户的指南
- Esp8266 进阶之路33【安全篇】细聊HmacMD5的加密方法带来的安全性,并实践在esp8266上,最大保障传输的过程的信息的安全性。(附带Demo)
- Javascript实现打字效果
- Python直男作死篇:生日蛋糕小游戏
- go module无法下载golang.org/x
- C++ 大作业 记账本
- 软件工程的就业前景如何?程序员的发展前景如何?