PHP Console工具使用分享

  作者:zhanhailiang 日期:2014-10-28

PHP Console:https://github.com/barbushin/php-console#php-console-server-library

功能介绍

PHP Console工具和FirePHP功能相似,提供以下功能:

Handle PHP errors, dump variables, execute PHP code remotely in Google Chrome

Demo

首先在Chrome中安装PHP Console插件:

https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef

其次在PHP代码中引入PHP Console库,然后调用输出相应调试信息:

如下例index2.php:

<?php
 
require_once(__DIR__ . ‘/../src/PhpConsole/__autoload.php‘);
 
// Call debug from PhpConsole\Handler
$handler = PhpConsole\Handler::getInstance();
$handler->start();
$handler->debug(‘called from handler debug‘, ‘some.three.tags‘);
 
$array = array(
    ‘test‘ => 1,
    ‘test2‘ => 1,
    ‘key‘ => array(
        1, 2, 3, 4,
    ),
);
$handler->debug($array, ‘test.wiki.wade.zhan‘);

输出调试信息到控制台,如下图:

原理介绍

PHP Console工具通过将调试信息输出到http响应头PHP-Console,然后PHP Console插件分析响应头PHP-Console字符串输出相应调试信息。

附录

PHP Console提供了通过密码来保护调试信息的功能,如下例,在服务器端设置密码:

<?php
 
require_once(__DIR__ . ‘/../src/PhpConsole/__autoload.php‘);
 
$password = ‘test‘;
$connector = PhpConsole\Connector::getInstance();
$connector->setPassword($password);
 
// Call debug from PhpConsole\Handler
$handler = PhpConsole\Handler::getInstance();
$handler->start();
$handler->debug(‘called from handler debug‘, ‘some.three.tags‘);
 
$array = array(
    ‘test‘ => 1,
    ‘test2‘ => 1,
    ‘key‘ => array(
        1, 2, 3, 4,
    ),
);
$handler->debug($array, ‘test.wiki.wade.zhan‘);

此时可以看到只有当客户端输入正确的密码:

此时响应头部才会输出相应的调试信息:

HTTP/1.1 200 OK
Server: Tengine/2.0.3
Date: Tue, 28 Oct 2014 12:36:04 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.3.29
PHP-Console-Postpone: {"protocol":5,"isPostponed":true,"id":"6957661441226218549514727634"}
PHP-Console: {"protocol":5,"auth":{"publicKey":"bf802ef9f6d61a5d4a720892a79bf8285d92c31c2a99be2931b504dc54eeb209","isSuccess":true},"docRoot":"\/usr\/local\/wwwroot\/dokuwiki","sourcesBasePath":null,"getBackData":null,"isLocal":false,"isSslOnlyMode":false,"isEvalEnabled":false,"messages":[{"type":"debug","tags":["some","three","tags"],"data":"called from handler debug","file":null,"line":null,"trace":null},{"type":"debug","tags":["test","wiki","wade","zhan"],"data":{"test":1,"test2":1,"key":[1,2,3,4]},"file":null,"line":null,"trace":null}]}
Content-Length: 0
时间: 2024-10-10 10:08:16

PHP Console工具使用分享的相关文章

手机游戏渠道SDK接入工具项目分享(三)拨开云雾是个坑

一直在纠结是先写框架设计还是先写掉过的坑,最后本这娱乐大众的态度先写掉过的坑让大家乐呵下. 项目开发过程中遇问题无数,回顾下8个大坑照成了项目一定程度上延期甚至返工. 1.  项目一开始几个人把现有3家主流的产品(1接,棱镜,AnySDK)研究了一遍.没想先在这里就进坑了.在研究了几天后发现这3家虽推出有一定时间,但都是以第三方服务角度设计和开发的产品,与需求不符. 2.  版本管理.和流程管理等内容因为运营人员更替一直在调整,直到我提出需要加价才做吧.需求上快把打包工具做成OA系统了,删除了于

手机游戏渠道SDK接入工具项目分享(二)万事开头难

一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所以不指望这批人了.因为是外包收钱按人头工时算,所以拉几个自己兄弟填坑. 初期人力配置 服务端x 1.Android x 1 二.开发需求 自己手机游戏CP作了3年,需求直接写完后让对方确认,一次通过. 1.      公司多款游戏都需要使用这套工具,需要作适配兼容,还好都是Unity3D项目.之后我

超好用linux系统查询网卡等流量参数的工具,分享给大家!!!

超好用linux系统查询网卡等流量参数的工具,分享给大家!!! 工作中大家或许会遇到这类情况:托管服务器流量超出限额,可是突然又不能像windows主机那样通过QQ管家或者360卫士等软件工具那样很直观的测出服务器的实时网卡进出口流量,那么福利来了!   linux查看网卡流量六种方法(本人使用Centos 6.4系统) 方法一.nload工具 wget http://heanet.dl.sourceforge.net/project/nload/nload/0.7.2/nload-0.7.2.

WPF-两份excel文档列自动匹配导入工具-技术&amp;分享

WPF-两份excel文档列自动匹配导入工具-技术&分享 A文档中包含两列x,y(x与y对应):B文档包含一列y,需要将A文档的y匹配B文档的y,将A文档的x内容匹配到B文档中,与B文档中的y列对应. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows; using System.Windows.Forms; using Mysoft.Co

UWP 手绘视频创作工具技术分享系列

开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做一个全新的 “来画Pro” 出来,历经三个月的世间,这个产品终于正式上架. (做个小广告,在 Windows 应用商店搜索 “来画Pro” 就可以找到,目前公司定位为收费应用,但是有一个月试用期,如果大家感兴趣,可以跟我要免费代码.这里是 IT之家的报道:https://www.ithome.com

JAVA对象任意深度克隆clone工具类分享

原文:JAVA对象任意深度克隆clone工具类分享 源代码下载地址:http://www.zuidaima.com/share/1550463408114688.htm package com.zuidaima.n_app.util; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import jav

手机游戏渠道SDK接入工具项目分享(一)缘起

#剧情章节 # 上周刚结束一个外包的项目,开发手机游戏渠道SDK聚合接入工具的,现在有空回顾整理一下这个项目开发过程,因涉嫌商业秘密不会提供项目代码,只谈下开发思路和掉过的坑. 本人多年从事手机互联网行业,从当年的功能机一直搞到红的发紫的手机游戏,一年前离职开始自己的APP开发外包生意. 十几年间许多相熟的老同事不是当了高管就已有自己公司了,到处拜访找老同事拉业务居然还能蹭上饭,感叹作技术的都是好兄弟. 找到之前公司一位老领导刚接手一家手机游戏开发公司管理层,被拉住聊了一晚希望我加入,但因为自己

UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频

从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本的 UWP App,定名为"来画视频".(根据微软应用商店的命名规则,大家可以继续搜索"来画Pro") 全新版本的 UWP 来画视频,适配了来画平台的手绘视频模板,对创作工具做了全新的改版. 适配来画平台手绘视频模板 来画成立两年多的时间里,一直在积累手绘视频模板,目前

Loom工具使用分享

Unity多线程(Thread)和主线程(MainThread)交互使用类——Loom工具分享 时间 2014-03-09 11:04:04  ITeye-博客 原文  http://dsqiu.iteye.com/blog/2028503 主题 Unity多线程 Unity多线程(Thread)和主线程(MainThread)交互使用类——Loom工具分享 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com           熟悉Unit