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调试输出的方法相关推荐

  1. VC调试--输出调试字符串(含示例代码)

    VC调试 输出字符串 更新日期:2012-11-7 代码下载:trace.zip (请不要直接使用迅雷下载) 或者到邮箱下载: vcshare@ qq.com(密码:share88) 测试环境:vs2 ...

  2. python 笔记 PySimpleGUI 图形界面6- 高级API调用-进度表控件、调试输出

    整理 PySimpleGUI 官方网站 原文google翻译过来的 https://pysimplegui.readthedocs.io/en/latest/ 高级API调用 进度表控件 我们的代码中 ...

  3. 【基础篇】JavaScript的4种代码调试输出方式

    前言 JavaScript 不提供任何内建的打印或显示函数.那么我们在日常开发的时候,需要调试输出和打印的结果的时候该怎么办法呢,这里给大家推荐4种显示方案: 使用 window.alert() 写入 ...

  4. python给用户输出提示_python3.4控制用户输入与输出的方法

    一.输入 1.函数格式:input() 2.函数功能:接受一个标准输入数据,返回string类型.ctrl+z结束输入. 3.实例: 默认input():等待一个任意字符的输入 str=input(' ...

  5. 简要叙述matlab的含义,1,简述MATLAB组成部分? 2,说明使用M文件编辑/调试器的方法和优点? 3,存储在工作空间中的数组能编辑吗...

    匿名用户 1级 2012-05-17 回答 我也考这个....祝你好运 1,简述MATLAB组成部分? (1)开发环境(development Environment); (2)MATLAB数学函数库 ...

  6. Maven项目配置EL表达式原样输出解决方法

    Maven项目配置EL表达式原样输出解决方法 参考文章: (1)Maven项目配置EL表达式原样输出解决方法 (2)https://www.cnblogs.com/d191/p/11689610.ht ...

  7. Visual Studio中11个强大的调试技巧和方法

    调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可 ...

  8. vscode 调试python 无法连接远程服务器_vscode 远程调试python的方法

    此文介绍了vscode 远程调试python的方法,分享给大伙,具有如下: 实验环境 远程服务器:京东云,1核2G,centos7.3 64bit 本地环境配置 安装vscode,实验用的版本是1.1 ...

  9. php 输出方法,PHP输出打印方法

    PHP输出打印方法 1. echo()输出字符串,PHP允许我们在双引号串中直接包含字串变量,而单引号串中的内容总被认为是普通字符. 2. mixed print_r ( mixed $express ...

最新文章

  1. 因为一次 Redis 分布式锁事故,整个项目组被扣绩效了。。。
  2. python之6-3嵌套函数
  3. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程
  4. 在子线程中更改主线程中的控件的信息,在子线程中用toast
  5. 机器学习花朵图像分类_在PyTorch中使用转移学习进行图像分类
  6. C++项目开发注意事项--持续更新
  7. linux服务器知识学习:了解Linux系统的启动过程
  8. 安装ansible自动运维工具
  9. 实现审批系统_我市工程建设项目审批系统实现与 省监管平台数据互联互通
  10. 如何设置.net控件SplitContainer平均分配
  11. b和kb的换算_b和kb的换算(b换算成kb)
  12. CocosCreator矢量绘图组件(2)
  13. Vue3 抽离封装axios
  14. 【Python 实战基础】Pandas如何统筛选复制某个数据
  15. 微信小程序万里目_微信小程序加盟千万别忘了几个基本要求
  16. android mapping文件 路径,Android打包代码混淆后的Mapping文件路径
  17. html5悬浮圆圈背景动画特效,html5圆圈浮动背景动画特效
  18. 中国工程院院士刘韵洁:中国未来网络创新环境CENI的探索
  19. mysql 客户端简单搭建
  20. 计算机主板上一般带有高速缓冲存储器cache,它是与什么之间的缓存,计算机微机原理与应用(一)...

热门文章

  1. SEO 基础知识? 2023学习SEO最佳指南
  2. 让人看比较舒服的十种颜色
  3. matlab中函数中点乘,Matlab中size、点乘和乘、max函数整理
  4. 它能无损数据调整分区大小,轻松解决您磁盘空间不足的问题
  5. then的格式及执行逻辑
  6. java wchar_将UTF-8文本转换为wchar_t
  7. Uniapp自定义基座说明
  8. Python之父Guido Van Rossum:炒作之火或将“摧毁” Web 3
  9. kernelutil.dll出错如何修复?kernelutil.dll下载地址
  10. 男人必看!!!一位女生写的追MM秘籍!!!