xhprof windows下安装和使用(转载)

1、使用5.3.3以上的php版本,或者直接下载wamp2.1集成环境。

2、下载xhprof for windows版本,地址:http://www.benjamin-carl.de/?download=XHProf-0.10.0-PHP-5.3.3-VC6-x86-TS,把解压后的dll文件放到php的ext目录里面。

  关于这个东西的下载,目前应为:http://windows.php.net/downloads/pecl/releases/xhprof/0.10.6/

  *慎重提示:64位的PHP,应当下载64的拓展dll文件,选好xhprof的版本、位数

3、 要把xhprof的两个包含了调试输出页面的子目录安置好,这里我选择了直接安置在自己网站发布位置的根目录里,也就是apache默认的htdocs的目录里面,分别是xhprof_html、xhprof_lib、xprof_log,其中xhprof_html和xhprof_lib是从下载的xhprof源代码文件包里得到的,包所在站点:http://pecl.php.net/package/xhprof,然后自行在htdocs里创建xprof_log文件夹,这个文件夹是用来存放页面分析数据的。

4、 处理php.ini文件,开启办法很简单,在该文件的末尾加上如下代码即可:

[xhprof]
extension=php_xhprof.dll
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
xhprof.output_dir="D:/htdocs/xhprof_log"

5、重启Apache看看phpinfo()信息中是否包含了xhprof的段,有的话,那就安装成功了,提示:以cgi方式运行的php修改了php.ini以后,可以直接运行phpinfo()查看结果,而无须重新启动Apache。

6、在apache的httpd.conf文件中,增加xhprof的路径配置,以方便分析性能时调度xhprof的库文件来分析php的代码性能,需要增加到httpd.conf的内容如下:

<Directory "D:/htdocs/xhprof_html/">

Options FollowSymLinks ExecCGI

AddHandler fcgid-script .php

AllowOverride None

Order allow,deny

Allow from all

</Directory>

<Directory "D:/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/ "D:/htdocs/xhprof_html/"

Alias /xhprof_lib/ "D:/htdocs/xhprof_lib/"

</IfModule>

7、下载和安装Graphviz,版本要在2.28以上。接下来到D:\htdocs\xhprof_lib\utils目录去修改callgraph_utils.php库文件,如下图:

8、在需要进行性能分析的页面中增加代码,得到xhprof的调度过程分析结果,并输出直观的图形,在含php代码的页面顶端加入如下图代码:

9、在php代码的尾部加入如下图代码:

10、访问此页面后,查看源代码,将页面最下面的链接复制出来备用。在www下新建目录A,将xhprof中的xhprof_html、xhprof_lib文件复制到目录A下,然后将复制出来的链接放入浏览器中,在IP后面增加目录A,然后访问此链接,就可以看到性能分析数据了。

11、去xhprof_lib\utils目录去修改callgraph_utils.php库文件,在d盘下创建个1.Png文件,然后将路径添加到如下图位置,然后就可以查看图形分析了

 

备注:如果步骤10复制出来的链接可以直接访问并能查看图形分析,请跳过步骤10和11。

文章转自:http://www.cnblogs.com/freedomdym/p/3510643.html

转载于:https://www.cnblogs.com/supermarx/p/6762574.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B树学习总结

B树 多路搜索树 当数据规模足够大的时候, 大部分数据存储到外存中, 常规的平衡二叉搜索树将无法满足需求理由如下: 常规二叉平衡搜索树每当进行search(),insert(),remove()操作的时候就会进行节点的切换,从而导致大量的IO操作,就此提出了多路搜索,尝试将原本的多个节点合在一…

嵌入式未来趋势是什么?

感谢CSDN编辑邀请 前几天通过了CSDN博客专家的申请&#xff0c;在CSDN博客摸爬滚打多少个日日夜夜后终于修成正果了&#xff0c;当时通过CSDN博客专家时赶紧把消息发给了以前的创新基地同学&#xff0c;想起来&#xff0c;我们那时候刚开始学习单片机&#xff0c;就是从CSDN上面…

python如何调用阿里云接口_Python调用aliyun API设置阿里云负载均衡虚拟服务器组权重...

环境准备系统环境CentOS Linux release 7.2.1511 (Core)[rootlocalhost ~]# cat /proc/versionLinux version 3.10.0-327.el7.x86_64 (builderkbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015[rootlocal…

js动态添加删除节点

转载于:https://www.cnblogs.com/jiaobaobao/p/6762692.html

C++与Java中的static成员总结

简述 在结构化程序设计中,内存中数据的共享是通过参数, 全局变量实现的; 在面向对象程序设计中函数与数据成员封装在一起, 数据共享通过类内部数据成员之间的相互访问, 外部对象则通过静态成员(即static成员)来共享数据; 接下来通过面向对象叙述static特性 C中的static 静…

书中自有黄金屋~外加中奖结果通知

人生的路很长&#xff0c;很艰辛&#xff0c;只有不断学习才能超越梦想&#xff0c;大牛是如何成长的&#xff01;首先要多看多听多写~~今天推荐一些大牛们都关注的技术公众号&#xff0c;机器学习、架构、前端、嵌入式、PY学习.....希望能够帮助到大家&#xff0c;引领我们前行…

python迭代算法_Python实现简单的梯度下降法

Python 实现简单的梯度下降法机器学习算法常常可以归结为求解一个最优化问题&#xff0c;而梯度下降法就是求解最优化问题的一个方法。梯度下降法(gradient descent)或最速下降法(steepest decent)&#xff0c;是求解无约束最优化问题的一种最常用的方法。梯度下降法实现简单&a…

[Linux]Linux应用程序中添加强制中断处理

注册CtrlC的按键signal信号捕捉&#xff0c;在捕捉到该动作后&#xff0c;强制退出应用程序 void handle_sig(int num) {printf( "%s\n", __func__ );exit(1); }int main( int argc, char **argv ) {signal(SIGINT, handle_sig); //....................... } 转载于…

顺序表的应用__电话本

顺序表的建立及使用 顺序表: 就所谓的数组式操作 编程实现顺序存储结构中的基本操作的实现&#xff08;电话本的建立、插入、删除、修改、逆置、查找、输出&#xff09; 整个操作过于简陋, 只对上述功能做叙述, 采用结构体数组实现, 本打算用class操作, 可因为某种原因就搁置…

拨号云服务器怎么自动配置网关_云服务器配置网站卡慢怎么办

网站访问卡慢有很多原因&#xff0c;一次完整的 HTTP 请求包括域名解析、建立 TCP 连接、发起请求、云服务器接收到请求进行处理并返回处理结果、浏览器对 HTML 代码进行解析并请求其他资源&#xff0c;以及对页面进行渲染呈现。其中&#xff0c;HTTP 的请求过程经历了用户本地…

TVS 和压敏电阻联合使用进行浪涌保护时,压敏电阻的压敏电压要低于TVS 的钳位电压 VC。

TVS(瞬态电压抑制器)二极管和MOV(金属氧化物压敏电阻)通常被用于电路中以提供浪涌保护。当两者联合使用时,设计要求MOV的压敏电压低于TVS二极管的钳位电压VC是因为: 1、分担能量: MOV设计用于吸收和分散大量能量,能够在遭受浪涌时承受较长时间的高电压。MOV在其压敏电压…

通俗理解Java中的Lambda表达式

Lambda Lambda表达式支持将代码块作为方法参数, 允许使用更为简洁的方式实现抽象类或接口的抽象方法, 而不再是通过匿名内部类的方式, 它具有对某一方法重写或实现的功能; 接下来通过一个简单的例子了解一下 public class LambaExpressionDemo {public void eat(Eatable e) {…

中断下半部机制-softirq-Tasklet-工作队列

中断上半部和下半部 在中断上半部,就是中断处理函数里面,是关中断的,所以为了快速执行,不能放太多的处理代码,只能执行非常短,这就衍生出了中断下半部。下半部主要是为了方便执行大量和本次中断相关的代码。 中断下半部的三种机制 下半部上下文顺序执行保障softirq中断…

jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理

jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理 最近在看jquery源码分析的视频教学&#xff0c;希望将视频中学到的知识用博客记录下来&#xff0c;更希望对有同样对jquery源码有困惑的童鞋能有一点点的帮助&#xff08;我是从一个小白的角度出发&#xff0c;感觉…

手机java软件_浅谈软件开发就业前景

​  我国信息化人才培养还处于发展阶段&#xff0c;导致社会实际需求人才基数远远大于信息化人才的培养基数&#xff0c;使得数以万计的中小企业急需全面系统掌握软件开发基础技能与知识的软件工程师。目前对软件已达20万并且以每年20%左右的速度增长。在未来5年内合格软件人…

单链表的应用(电话本)

单链表 单链表的定义就不说了, 很简单, 请自行百度; 那么从今天的主题<单链表的应用>入手; 利用单链表实现电话本的模拟程序&#xff1a;定义单链表的数据类型&#xff0c;将头插法和尾插法、插入、逆置、删除、查找、修改、计数、输出等操作都定义成子函数的形式&#…

有意思的BAT CMD if while循环 整型自增

引言 我们开发过程中经常遇到写bat进行测试的&#xff0c;需要对这方面有些基础&#xff0c;我给出个示例&#xff0c;也方便自己以后工作做参考。 echo off title qifa :looprem setlocal enabledelayedexpansionset /a a1 echo loop %a%choice /t 1 /d y /n >nulrem 判断…

ufldl学习笔记与编程作业:Multi-Layer Neural Network(多层神经网络+识别手写体编程)...

ufldl学习笔记与编程作业&#xff1a;Multi-Layer Neural Network(多层神经网络识别手写体编程) ufldl出了新教程&#xff0c;感觉比之前的好&#xff0c;从基础讲起&#xff0c;系统清晰&#xff0c;又有编程实践。 在deep learning高质量群里面听一些前辈说&#xff0c;不必深…

sql查询无结果返回空_3分钟短文 | Laravel 查询结果检查是不是空,5个方法你别用错...

引言Laravel 提供了 Eloquent ORM 对象用于操作数据库&#xff0c;将其进行抽象方便操作。因为设计的灵活度&#xff0c;大家在使用Model查询数据集的时候&#xff0c;会面临结果为空&#xff0c;记录不存在的问题&#xff0c; 那么如何有效地判断查询记录为空呢&#xff1f;本…

Android 7.1 bootchart触发后导致不断重启

android7.1 bootchart android 7.1的bootchart问题比较多&#xff0c;之前的版本还是比较稳定的&#xff0c;但是7.1之后出现了问题。 由於7.0 bootchart.cpp中有bug, google在7.1上還沒有修复&#xff0c;当我们执行下面的命令后 adb shell echo 120 > /data/bootchart/st…