PHP调试输出的方法
PHP程序一旦出错调试是个问题,一般常规方法当然是用echo()函数直接在页面上输出,来查看变量的内容。但是这样很麻烦有些地方未必能显示调试内容。所以有大神想出办法用Google Chrome浏览器“审查元素”或者“检查”下的Console也就是控制台来显示PHP等服务端语言的调试信息。下面的大神提供的函数会把参数中的变量输出到Console。
function console_log($data) //调试输出用函数
{if (is_array($data) || is_object($data)){echo("<script>console.log(".json_encode($data).");</script>");}else{echo("<script>console.log(".$data.");</script>");}
}
可以直接在需要调试的地方使用,例如:
$book_id=2;$sql = "select * from product where book_id < $book_id order by book_id desc limit 1";$result = execute_sql($link, "mobile_store", $sql); //mobile_store是数据库名$row = mysqli_fetch_assoc($result); //从结果集中取得一行作为关联数组console_log($row);
但是此函数的效果比较迷,有时候能显示有时候不能显示,顺带着还能让PHP程序不正常。最好的方法是用Chrome浏览器专门的后端程序调试插件,比如PHP-Console或者Chrome Logger前者针对PHP,后者支持多种服务端语言,使用方式都是先安装一个Chrome扩展,然后提供服务端的库供调用。实现方式大致是利用Session,Cookies等来传递数据。
鄙人只用了PHP-Console,效果很好。
首先去谷歌浏览器应用商店安装PHP-Console。
然后解压php-console-master压缩包,我会在文章末尾附上下载地址。
解压文件后会得到php-console-master文件夹。
然后在需要调试输出的PHP页面引入它的PHP文件,例如:
require_once("file://C:/wamp/www/PhpConsole/__autoload.php");$handler = PhpConsole\Handler::getInstance();
$handler->start(); //初始化$book_id=2;$sql = "select * from product where book_id < $book_id order by book_id desc limit 1";
$result = execute_sql($link, "mobile_store", $sql); //mobile_store是数据库名
$row = mysqli_fetch_assoc($result); //从结果集中取得一行作为关联数组$handler->debug($row, '春哥纯爷们:'); //向Console输出信息,参数1:需要输出的变量;参数2:输出说明。
PHP-Console还会在右边弹出一个小窗口显示调试信息,可谓逼格满满。
参考资料:https://blog.csdn.net/sky_zhe/article/details/21803555
支持库下载地址:https://download.csdn.net/download/l198738655/11711908
PHP调试输出的方法相关推荐
- VC调试--输出调试字符串(含示例代码)
VC调试 输出字符串 更新日期:2012-11-7 代码下载:trace.zip (请不要直接使用迅雷下载) 或者到邮箱下载: vcshare@ qq.com(密码:share88) 测试环境:vs2 ...
- python 笔记 PySimpleGUI 图形界面6- 高级API调用-进度表控件、调试输出
整理 PySimpleGUI 官方网站 原文google翻译过来的 https://pysimplegui.readthedocs.io/en/latest/ 高级API调用 进度表控件 我们的代码中 ...
- 【基础篇】JavaScript的4种代码调试输出方式
前言 JavaScript 不提供任何内建的打印或显示函数.那么我们在日常开发的时候,需要调试输出和打印的结果的时候该怎么办法呢,这里给大家推荐4种显示方案: 使用 window.alert() 写入 ...
- python给用户输出提示_python3.4控制用户输入与输出的方法
一.输入 1.函数格式:input() 2.函数功能:接受一个标准输入数据,返回string类型.ctrl+z结束输入. 3.实例: 默认input():等待一个任意字符的输入 str=input(' ...
- 简要叙述matlab的含义,1,简述MATLAB组成部分? 2,说明使用M文件编辑/调试器的方法和优点? 3,存储在工作空间中的数组能编辑吗...
匿名用户 1级 2012-05-17 回答 我也考这个....祝你好运 1,简述MATLAB组成部分? (1)开发环境(development Environment); (2)MATLAB数学函数库 ...
- Maven项目配置EL表达式原样输出解决方法
Maven项目配置EL表达式原样输出解决方法 参考文章: (1)Maven项目配置EL表达式原样输出解决方法 (2)https://www.cnblogs.com/d191/p/11689610.ht ...
- Visual Studio中11个强大的调试技巧和方法
调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可 ...
- vscode 调试python 无法连接远程服务器_vscode 远程调试python的方法
此文介绍了vscode 远程调试python的方法,分享给大伙,具有如下: 实验环境 远程服务器:京东云,1核2G,centos7.3 64bit 本地环境配置 安装vscode,实验用的版本是1.1 ...
- php 输出方法,PHP输出打印方法
PHP输出打印方法 1. echo()输出字符串,PHP允许我们在双引号串中直接包含字串变量,而单引号串中的内容总被认为是普通字符. 2. mixed print_r ( mixed $express ...
最新文章
- 因为一次 Redis 分布式锁事故,整个项目组被扣绩效了。。。
- python之6-3嵌套函数
- [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程
- 在子线程中更改主线程中的控件的信息,在子线程中用toast
- 机器学习花朵图像分类_在PyTorch中使用转移学习进行图像分类
- C++项目开发注意事项--持续更新
- linux服务器知识学习:了解Linux系统的启动过程
- 安装ansible自动运维工具
- 实现审批系统_我市工程建设项目审批系统实现与 省监管平台数据互联互通
- 如何设置.net控件SplitContainer平均分配
- b和kb的换算_b和kb的换算(b换算成kb)
- CocosCreator矢量绘图组件(2)
- Vue3 抽离封装axios
- 【Python 实战基础】Pandas如何统筛选复制某个数据
- 微信小程序万里目_微信小程序加盟千万别忘了几个基本要求
- android mapping文件 路径,Android打包代码混淆后的Mapping文件路径
- html5悬浮圆圈背景动画特效,html5圆圈浮动背景动画特效
- 中国工程院院士刘韵洁:中国未来网络创新环境CENI的探索
- mysql 客户端简单搭建
- 计算机主板上一般带有高速缓冲存储器cache,它是与什么之间的缓存,计算机微机原理与应用(一)...
热门文章
- SEO 基础知识? 2023学习SEO最佳指南
- 让人看比较舒服的十种颜色
- matlab中函数中点乘,Matlab中size、点乘和乘、max函数整理
- 它能无损数据调整分区大小,轻松解决您磁盘空间不足的问题
- then的格式及执行逻辑
- java wchar_将UTF-8文本转换为wchar_t
- Uniapp自定义基座说明
- Python之父Guido Van Rossum:炒作之火或将“摧毁” Web 3
- kernelutil.dll出错如何修复?kernelutil.dll下载地址
- 男人必看!!!一位女生写的追MM秘籍!!!