[计划]
“Windows版本Apache+php的Xhprof应用__[1]”中已经解决了下载,配置的问题,所以这里的工作是接着进行的,我们以调试一个 php代码的文件来看看是怎么用xhprof的。另外我测试了一个非常简单php页面,页面本身还没有优化过,这样比较的清晰和直观,优化过的也看不出 xhprof的分析有啥价值了。
[目标]
分析我的多层次调度页面index.html的性能,说明一下,xhprof只能分析php代码的性能,我的.html文件本身支持嵌入的php代码解析,所以不是说xhprof可以分析.html文件。
[步骤]
  • 在apache的httpd.conf文件中,增加xhprof的路径配置,以方便分析性能时调度xhprof的库文件来分析php的代码性能,需要增加到httpd.conf的内容如下:
<Directory "M:/htdocs/xhprof_html/">
  Options FollowSymLinks ExecCGI
  AddHandler fcgid-script .php
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
<Directory "M:/htdocs/xhprof_lib/">
  Options FollowSymLinks ExecCGI
  AddHandler fcgid-script .php
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
<IfModule alias_module>
  Alias /xhprof_html/ "M:/htdocs/xhprof_html/"
  Alias /xhprof_lib/ "M:/htdocs/xhprof_lib/"
</IfModule>
  • 大概说一下,我的“xhprof_html”和“xhprof_lib”全部放在了M盘的htdocs目录里,你需要自己改为自己的路径,另外,我的开发 主要是在php以fast-cgi方式运行下调试的,因为我的生产环境用的是fast-cgi实现的,这里顺便说下,fast-cgi的确非常好,破机子 访问量翻番居然扛下来了,至少暂时不用去换硬件了,赞一个的说。
  • 下载和安装Graphviz,并修改xhprof的代码,然后实现输出调用过程的图形,百度搜索Graphviz关键字,然后到官方找到windows版 本的就可以了,网上还有其他网友制作的绿色版本,反正很容易得到,版本要在2.28以上最好,大家自己去找找吧,有网友说我第一篇里提供的地址下载不到那 个xhprof的dll文件,我只能说如果baidu里搜是木有的,要到google里去用英文模式搜,很容易找到,因为返回的结果很少啊。又跑题了,我 这里是把Graphviz安装到我的D:\WebServices目录的,如图1

图1
  • 装好了就放那别动了,等下备用,接下来到M:\htdocs\xhprof_lib\utils目录去修改callgraph_utils.php库文件,如图2
  • 如果是在widows环境下,$cmd 命令上面的参数 2 => array("file", "D:/tmp/error-output.txt", "a"),/dev/null需改成你自己定义的一个临时目录,后面文件名随便给否则就会出现shell错误

图2
  • 注意你的Graphviz是安装在哪里的,路径就添哪个位置,好了,到这里,就可以开始评估index.html的性能了,在需要进行性能分析的页面中增加代码,得到xhprof的调度过程分析结果,并输出直观的图形,在含php代码的页面顶端加入如图3代码
 

图3
  • 注释一下,第一段include放在头上,这个没啥可说的,注意,第二个红框指示的代码放的的位置很重要,因为这个代码上面的代码不会被分析的。
  • 在php代码的尾部加入如图4代码
 

图4

图4附图:报告链接
  • 注释一下,高亮的是查看性能分析页面的链接,注意你的apache配置,因为我这个例子是把xhprof直接放在了所有的开发站点的相对目录/xhprof_html/下的,如果你的另有花样,这里不写对,那永远也看不到xhprof分析的页面。
  • 加好了代码,就是到浏览器里面去直接执行含有xhprof指令的页面啦,执行和正常一样,不过页面的最低部增加了一个报告链接,如图5所示,点击就显示出了xhprof的函数工况报告

图5
  • 红色的就是性能瓶颈的部分,呵呵,清晰直观,希望大家成功!
[结论]
windows下面也可以像linux下面那样调试啦~

Windows版本Apache+php的Xhprof应用__[2]的更多相关文章

  1. Windows版本Apache+php的Xhprof应用

    [知识] {Apache} Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. {PHP} ...

  2. 下载windows版本apache网页服务器

    1.进入apache服务器官网http://httpd.apache.org/,这里我们以下载稳定版的httpd 2.4.25为例,点击download. 2.点击链接Files for Micros ...

  3. PHP环境配置-从Apache官网下载windows版apache服务器

    由于个人有强迫倾向,下载软件都喜欢从官网下载,摸索了好久终于摸清楚怎么从Apache官网下载windows安装版的Apache服务器了,现在分享给大家. 进入apache服务器官网http://htt ...

  4. WAMP(Windows、Apache、MySQL、php)安装配置过程常见问题

    WAMP(Windows.Apache.MySQL.php)安装配置过程 可以参考该网友的总结(总结的不错,鼓掌!!): http://www.cnblogs.com/pharen/archive/2 ...

  5. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  6. Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)

    如果您能点开这篇文章,说明您已对熟悉Apache HTTP Server(下文用Apache简称)配置的重要性已很清楚了,本文不在赘述,直接介入正题,请往下阅读: 为便于阅读,列出文章目录: 一.Ap ...

  7. Windows + Flask + Apache + wsgi踏坑总结

    据前人踏坑经历,拷贝如下: 1. Apache,mod_wsgi和Python都必须用相同版本的C/C++编译器生成,要么都是32位的,要么都是64位的,不能混用. 2. Apache和mod_wsg ...

  8. Windows版本redis高可用方案探究

    目录 Windows版本redis高可用方案探究 前言 搭建redis主从 配置主redis-28380 配置从redis-23381 配置从redis-23382 将redis部署为服务 启动red ...

  9. windows版本免安装redis, nginx, zookeeper

    redis官网:https://redis.io/ windows版本免安装redis下载链接:https://github.com/MSOpenTech/redis/releases nginx官网 ...

随机推荐

  1. Remoting 学习一调用远程的类就像调用本地的类一样

    Remoting   使用TCP/IP 协议,服务端可以是服务,web服务器,类.   例子1.  远程调用服务端的类,就像调用客户端机器上的类一样.   服务端代码 (先定义被客户端调用的类,然后注 ...

  2. 51nod 1040 欧拉函数

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 1040 最大公约数之和 题目来源: rihkddd 基准时间限制 ...

  3. jar包作用

    hibernate中jar包的作用 (1)hibernate3.jar:Hibernate的核心库,没有什么可说的,必须使用的jar包 (2)cglib-asm.jar:CGLIB库,Hibernat ...

  4. GIT和SVN比较

    SVN与Git比较 摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这 ...

  5. ionic2——环境配置篇

    环境配置 安装nodeJS 配置cnpm 安装ionic2 安装cordova 安装java sdk 安装android sdk(在项目最后打包时app的时候会用到,前期是在浏览器环境测试开发暂时不需 ...

  6. Jquery过滤选择器,选择前几个元素,后几个元素,内容过滤选择器等

    一.基本过滤选择器(重点掌握下列八个):first 选取第一个元素 $("div:first").css("color","red");:l ...

  7. 修改dedecms 列表页上一页 下一页 方法!

    dedecms根目录下include文件夹下:arc.listview.class.php文件! 1.简单文字替换:如 上一页替换成上页,直接替换即可! 2.文字替换成图片:上一页替换成<img ...

  8. main函数的参数的用法

    说明:main函数的参数的用法源代码: #include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[] ...

  9. BZOJ - 2243 染色 (树链剖分+线段树+区间合并)

    题目链接 线段树维护区间连续段个数即可.设lc为区间左端点颜色,rc为区间右端点颜色,则合并两区间的时候,如果左区间右端点和右区间左端点颜色相同,则连续段个数-1. 在树链上的区间合并可以定义一个结构 ...

  10. 【1】String,StringBuffer,StringBuillder的底层结构研究

    一:StringBuffer的底层 (1)线程安全的字符串操作类 (2)通过synchronized关键字声明同步方法,保证多线程环境下数据安全 @Override public synchroniz ...