PHP Console工具使用分享
PHP Console工具使用分享
http://www.open-open.com/lib/view/open1416193590414.html
您的评价: |
|
不错
|
收藏该经验
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?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提供了通过密码来保护调试信息的功能,如下例,在服务器端设置密码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?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' ); |
此时可以看到只有当客户端输入正确的密码:
此时响应头部才会输出相应的调试信息:
1
2
3
4
5
6
7
8
9
|
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 |
来自:http://blog.csdn.net/billfeller/article/details/40554625
PHP Console工具使用分享的更多相关文章
- .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式
.Net Excel 导出图表Demo(柱状图,多标签页) 1 使用插件名称Epplus,多个Sheet页数据应用,Demo为柱状图(Epplus支持多种图表) 2 Epplus 的安装和引用 新建一 ...
- 手机游戏渠道SDK接入工具项目分享(二)万事开头难
一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...
- 手机游戏渠道SDK接入工具项目分享(三)拨开云雾是个坑
一直在纠结是先写框架设计还是先写掉过的坑,最后本这娱乐大众的态度先写掉过的坑让大家乐呵下. 项目开发过程中遇问题无数,回顾下8个大坑照成了项目一定程度上延期甚至返工. 项目一开始几个人把现有3家主流的 ...
- 手机游戏渠道SDK接入工具项目分享(一)缘起
#剧情章节 # 上周刚结束一个外包的项目,开发手机游戏渠道SDK聚合接入工具的,现在有空回顾整理一下这个项目开发过程,因涉嫌商业秘密不会提供项目代码,只谈下开发思路和掉过的坑. 本人多年从事手机互联网 ...
- UWP 手绘视频创作工具技术分享系列
开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做 ...
- UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频
从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本 ...
- Loom工具使用分享
Unity多线程(Thread)和主线程(MainThread)交互使用类——Loom工具分享 时间 2014-03-09 11:04:04 ITeye-博客 原文 http://dsqiu.it ...
- C# 正则表达式测试工具与分享窗体自适应类
放假刚回来,自己打算写一个正则表达式的测试工具,因为上次在网上用的一个在线正则表示测试工具就 没有很好的服务自己的,所以才有了现在的想法,想写一个C#开发者用的正则表达式测试工具!期间由于最大化时控件 ...
- as3 工具类分享 CookieMgr
今天分享一个工具类 CookieMgr,功能就是读取和写入 SharedObject 对象.很简单,都是静态方法,就不多说了 package org.polarbear.core { import f ...
随机推荐
- mysql 主主复制(双主复制)+ 配置KEEPALIVED实现热备
binlog-do-db和replicate-do-db表示需要同步的数据库 binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库 云端服务器为master配 ...
- JNDI 是什么
转自:http://blog.csdn.net/zhaosg198312/article/details/3979435 JNDI是 Java 命名与目录接口(Java Naming and Dire ...
- git提交报异常,fatal: The remote end hung up unexpectedly
转自:http://liucanwen.iteye.com/blog/2021601 早上提交代码到 oschina代码库时,报了这个错误: fatal: The remote end hung up ...
- HTML5小游戏【是男人就下一百层】UI美化版
之前写的小游戏,要么就比较简单,要么就是比较难看,或者人物本身是不会动的. 结合了其它人的经验,研究了一下精灵运动,就写一个简单的小游戏来试一下. 介绍一下几个主要的类: Frame:帧的定义,主要描 ...
- http://love3400wind.blog.163.com/blog/static/7963080120132794359703/
http://love3400wind.blog.163.com/blog/static/7963080120132794359703/
- oracle 11g安装(转)
原文地址:http://www.2cto.com/database/201208/150620.html 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可 ...
- python 代码片段6
#coding=utf-8 # python常用的列表list和字符串string # tuple元组,一个身有残疾的只读列表 s='python' print s[0] print s[-1] # ...
- input:focus
input:focus,select:focus,textarea:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2p ...
- 洛谷 P1118 数字三角形游戏 Label:dfs
题目描述 有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置.下面是一 ...
- TYVJ P1053 字符串的展开 Label:字符 水
背景 NOIP2007年提高组第2道 描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简 ...