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