【转】给Windows + Apache 2.2 + PHP 5.3 安装PHP性能测试工具 xhprof
原文链接:http://blog.snsgou.com/post-816.html
1、下载XHProf
到这里 http://dev.freshsite.pl/php-extensions/xhprof.html 下载Windows版本的XHProf,我这里选择下载
XHProf 0.10.3 for PHP 5.3 vc9 和 xhprof_html
2、安装XHProf
把压缩包里的 xhprof_0.10.3_php53_vc9.dll 拷贝到PHP的ext目录下,然后在php.ini配置里面加入配置(不要忘记创建对应的文件夹)
[xhprof]
extension=xhprof_0.10.3_php53_vc9.dll
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
xhprof.output_dir="d:/PHP/xhprof/log"
3、使用XHProf
将 xhprof_html.zip 解压到你想测试的网站根目录,如我放在了网站目录的 /public/xhprof/windows 下。
测试文件:
<?php
function bar($x)
{
if ($x > 0)
{
bar($x - 1);
}
} function foo()
{
for ($idx = 0; $idx < 5; $idx++)
{
bar($idx);
$x = strlen("abc");
}
} // 启动xhprof
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); // 调用foo函数,也是我们要分析的函数
foo(); // 停止xhprof $xhprof_data = xhprof_disable(); // 取得统计数据
//print_r($xhprof_data); $os = 'windows'; $XHPROF_ROOT = dirname(__FILE__) . '/public/xhprof/' . $os;
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; // 保存统计数据,生成统计ID和source名称
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo"); // source名称是xhprof_foo // 查看统计信息
echo "<div style='margin: 50px auto; padding :10px; width: 92px; font-size: 16px; background: #ff0000;'><a style='color:#ffff00;' href='/public/xhprof/" . $os . "/xhprof_html/index.php?run=" . $run_id . "&source=xhprof_foo' target='_blank'>XHProf view</a></div>";
当点击链接“[View Full Callgraph]”时,会报错:
failed to execute cmd: " dot -Tpng"
所以还需要下载图形工具 Graphviz。
4、下载Graphviz
到这里 http://www.graphviz.org/Download_windows.php 下载Windows版本的Graphviz,我这里选择下载
5、安装Graphviz
解压后,把Graphviz拷贝到某个目录,如 d:/PHP/xhprof/graphviz-2.38/
6、配置Graphviz
找到上述提到网站目录 /public/xhprof/windows/ 下的 config.php 文件,调整如下:
<?php
/**
* Set the absolute paths on your system
*/
define('ERROR_FILE', 'd:/PHP/xhprof/log/xhprof_dot_errfile.log');
define('TMP_DIRECTORY', 'd:/PHP/xhprof/tmp');
define('DOT_BINARY', 'd:/PHP/xhprof/graphviz-2.38/release/bin/dot.exe');
重新点击链接 [View Full Callgraph],一张期待已久的效果图出来啦:
【转】给Windows + Apache 2.2 + PHP 5.3 安装PHP性能测试工具 xhprof的更多相关文章
- 给Windows + Apache 2.2 + PHP 5.3 安装PHP性能测试工具 xhprof_0.10.3_php53_vc9.dll
1.下载XHProf 到这里 http://dev.freshsite.pl/php-extensions/xhprof.html 下载Windows版本的XHProf,我这里选择下载 XHProf ...
- Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...
- 【转】Windows环境下Android Studio v1.0安装教程
原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/1 ...
- 自己动手打造WEB服务器 Windows + Apache + PHP + MySQL
XWAMP并不打算打造一个多功能,零配置,方便调试的工具.XWAMP只是把原程序简单的组合在一起,利用CMD命令控制,真正的绿色版,只为了多学习点Windows + Apache + PHP + My ...
- WAMP(Windows、Apache、MySQL、php)安装配置过程常见问题
WAMP(Windows.Apache.MySQL.php)安装配置过程 可以参考该网友的总结(总结的不错,鼓掌!!): http://www.cnblogs.com/pharen/archive/2 ...
- 搭建基于Windows + Apache + PHP + MySQL的Moodle平台
说起Moodle,我相信学习教育技术的同学应该都不陌生,在大学的网络与远程教育课中,我有幸与传说中的Moodle相遇,然后相知,但是我绝对不会跟你们说一直到我毕业,我都没有找到一个合适的时间与这位Ms ...
- Windows+Apache+PHP5配置
今天配置Windows+Apache+PHP时,遇到的问题,记录下供大家参考,也供自己以后参考!需要特别注意的:PHP v9版本的 非线程安全的 只适用于IIS,5.3版本的NTS版的没有php5ap ...
- windows Apache 环境下配置支持HTTPS的SSL证书
windows Apache 环境下配置支持HTTPS的SSL证书 1.准备工作 1)在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有SSL版本的A ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
随机推荐
- Liferay7 BPM门户开发之44: 集成Activiti展示流程列表
处理依赖关系 集成Activiti之前,必须搞清楚其中的依赖关系,才能在Gradle里进行配置. 依赖关系: 例如,其中activiti-engine依赖于activiti-bpmn-converte ...
- VS2013模块对于SAFESEH映像是不安全的解决方法
常见报错:error LNK2026: 模块对于 SAFESEH 映像是不安全的 解决方法:右键打开项目属性 -> 链接器 -> 命令行 -> 其他选项 (D) 中加入 /SAFE ...
- UML基础系列:用例图
1. 概述 用例图(Use Case Diagram)描述“用户.需求.系统功能单元”之间的关系,是参与者所能观察和使用到的系统功能模型图. 用例图用于需求分析阶段 用例图包含6个基本元素:参与者(A ...
- OpenCascade Application Framework Introduction
OpenCascade Application Framework Introduction eryar@163.com 本教程介绍了Open CASCADE程序框架(Application Fram ...
- Android入门(十四)内容提供器-实现跨程序共享实例
原文链接:http://www.orlion.ga/661/ 打开SQLite博文中创建的 DatabaseDemo项目,首先将 MyDatabaseHelper中使用 Toast弹出创建数据库成功的 ...
- 【转】中间代码opcode的执行
原文链接:http://www.orlion.ga/941/ 原文:http://www.nowamagic.net/librarys/veda/detail/1543 假如我们现在使用的是CLI模式 ...
- AIX碎碎念
1. 查看系统版本 oslevel 2. 查看系统内存 svmon -G (注意,size的单位为4k) 3. 查看机器型号 uname -Mu 4. 查看机器硬件信息,如cpu,内存等 prtcon ...
- 一套后台管理html模版
最近自己需要一套后台管理的模版,然后去网上查找,模版的确很多,但是适合我的并不多.我需要的模版是不会很大,我能够控制代码,样式不要太古朴,最好有点CSS3的效果.最后终于找到一张主页,然后再根据这个主 ...
- PetaPoco 访问SQL SERVER 存储过程
博客园有篇文章<小巧方便的ORM类库——PetaPoco> 介绍了PetaPoco调用存储过程: //调用存储过程 db.Execute("exec procSomeHandl ...
- Concise - 面向对象的,一致的前端开发框架
在当今世界,有许多前端开发的框架.那么,为什么还要再造一个框架呢?Concise 建立的目的是使你有很多的开箱即用的选项,让你能够方便的搭建移动友好的网站和 Web 应用程序.另外还包括一个简单的网格 ...