PHP内置Web Server探究(二)自定义PHP控制台输出console函数

我们在开发APP的服务器端,当和APP进行联调时通常需要实时跟踪URL请求和参数的接收情况。

但PHP并没有像Python或Java专有的控制台输出函数,Python的print()和Java的System.out.println(),PHP的echo,print等函数在直接使用php -f index.php时,可以打印以shell屏幕上,但在cli_server运行时并不能满足把调试信息只打印在shell而不显示在浏览器。

用度娘搜了好久,网上对PHP内置server cli模式的资料少之又少,根本找不到一点有用的信息。

通过查阅PHP官方文档,最后想到PHP的标准输出流STDOUT

php://output 是一个只写的数据流, 允许你以 print 和 echo 一样的方式 写入到输出缓冲区

当在cli模式下运行时,只要向STDOUT写入数据时,并不需要echo 或 print 就会立即 打印 到 SHELL客户端:

于是,我们可以编写一个自定义函数来封装对sdtout标准输出流的数据的入,相当于随时把想要显示的调度信息打印到shell:

1 /*

2 * cli模式或者内置server打印调试信息,而不在浏览器输出3 * param fixed $data 参数可以是除了对象以外的所有数据类型,比如:字符串,数组,jason等4 */

5 function console($data){6 $stdout = fopen('php://stdout', 'w');7 fwrite($stdout,json_encode($data)."\n"); //为了打印出来的格式更加清晰,把所有数据都格式化成Json字符串

8 fclose($stdout);9 }

当需要在内置Server每一个请求后,打印当前的调试信息时:直接调用console()即可

比如:

打印所有接收到的GET或POST参数:

console($_GET);

console($_POST);

打印字符串:

console("hello php console debug");

以后再也不用羡慕Python和Java的控制台输出,PHP从此也有控制台输出函数了

php打印函数console,PHP内置Web Server探究(2)自定义PHP控制台输出console函数相关推荐

  1. php web server setup,PHP本地开发利器:内置Web Server

    PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器. 命令:php -S 这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境. URI请求会被发送到PHP所在的的工作 ...

  2. 用户自定义的Javascript函数名字与内置函数或宿主函数名字相同时产生的问题。...

    原文出自:http://www.cnblogs.com/JiangHuakey/archive/2012/04/12/2443946.html 当用户定义的函数名字与内置函数或宿主函数名字相同时,如果 ...

  3. python内置函数open_Python的内置函数open()的注意事项

    用法 : open("file_address","open_mode") 例子 : f = open("D:\PycharmProjects\log ...

  4. 编写函数,模拟内置函数 sorted()。

    编写函数,模拟内置函数 sorted(). 用python来简单的模拟sorted可以用库函数来进行,也较为简单,我选了min()和sort()来进行模拟 利用min()函数 def sorteds( ...

  5. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

  6. 使用Synology群晖内置web station和榴莲壳发布自己的网站(三)如何访问自己服务器里的网页

    使用Synology群晖内置web station和榴莲壳发布自己的网站(三)如何访问自己服务器里的网页 配置 榴莲壳的申请 榴莲壳设置 Web Station完成最后一步设置 internet顺利访 ...

  7. 使用Synology群晖内置web station和榴莲壳发布自己的网站(二)设置Web Station

    使用Synology群晖内置web station和榴莲壳发布自己的网站(二)设置Web Station 配置 设置群晖Web Station 打开Web Station设置 安装Apache HTT ...

  8. 使用Synology群晖内置web station和榴莲壳发布自己的网站(一)安装Web Station

    使用Synology群晖内置web station和榴莲壳发布自己的网站(一)安装Web Station 配置 自己用html写一个简单网站用于test 群晖安装web station 自从入手了群晖 ...

  9. php radius web认证,内置WEB认证配置(radius认证)

    本帖 * 后由 浪天涯星仔 于 2016-1-9 20:14 编辑 功能介绍: Web认证是一种对用户访问网络的权限进行控制的身份认证方法,这种认证方法不需要用户安装专用的客户端认证软件,使用普通的浏 ...

最新文章

  1. 乳腺MG数据获取(Breast Mammography)
  2. YCProgress自定义百分比进度条
  3. 用java制作扑克牌_阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer(java研发)...
  4. Source Insight 常用设置和快捷键大全
  5. centos6 利用外部的smpt服务器计划任务发送邮件
  6. HDU2553 N皇后 回溯法+打表
  7. 【流媒体服务器的搭建】2. 源码编译安装ffmpeg
  8. easyui tab
  9. h5 nan_h5页面在不同ios设备上的问题总结
  10. 使用 HTML5 File API 实现client log
  11. 【你不能错过的数组基础知识整理】(学习笔记9--数组下)
  12. 马蜂窝视频编辑框架设计及在 iOS 端的业务实践
  13. 基于昊芯DSC28034+四针OLED屏(保姆级教程)
  14. 伽罗华域, 二维码和CRC
  15. 单路视频编码器怎么使用
  16. PP实施经验分享(4)——SAP中BOM应用
  17. AT指令表(中文详解)
  18. Android手机直播系统开发介绍
  19. oracle 不带时分秒,关于Oracle数据库不带日期中时分秒的查询
  20. python自动化运维:python环境的安装

热门文章

  1. IO File.copy 实现文件的复制
  2. Linux 命令(18)—— screen 命令
  3. C++引用计数(reference counting)技术简介(3)
  4. gin mongodb restful api设计: 动态的patch接口
  5. python调用网络摄像机
  6. 微信小程序之自定义toast弹窗
  7. 终于下定决心以后要定期清理清理一下园子啦
  8. Android 通知栏用法例子
  9. 怎样配置Tomcat环境变量
  10. ADO.Net 精简的三层架构