win10 php5.5,Win10下,安装PHP5.5性能分析工具:xhprof

常用的PHP环境:PHP5.6 + Nginx,但是Windows系统下,xhprof没有对应的PHP5.6的版本,所以本地开发就降级到了PHP5.5,这个对目前的工作差别不大!

1、下载XHProf

下载Windows版本的 xhprof for php5.5 ,非线程安全版本(nts),64位(x64),点击下 载

下载 xhprof_html(提取码:i7w1 )

2、安装XHProf

把压缩包里的 php_xhprof.dll 拷贝到PHP的ext目录下,然后在php.ini配置里面加入配置(不要忘记创建对应的文件夹)

[xhprof]

xhprof.output_dir="D:/php/phpstudy/Extensions/php/xhprof/log"

重启Nginx,看看phpinfo()里面有没有xhprof相关信息!

3、使用XHProf

将 xhprof_html.zip 解压到你想测试的网站根目录,如我放在了网站目录的 /public/xhprof/windows 下。

测试文件:

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 "

";

当点击链接“[View Full Callgraph]”时,会报错:

failed to execute cmd: " dot -Tpng"

所以还需要下载图形工具 Graphviz。

4、下载Graphviz

注意:只能下载 graphviz-2.38 版本,太高版本的不起作用,点击下载

5、安装Graphviz

把Graphviz安装到某个目录,如 D:\software\Graphviz

6、配置Graphviz

找到上述提到网站目录 /public/xhprof/windows/ 下的 config.php 文件,调整如下:

/**

* Set the absolute paths on your system

*/

define('ERROR_FILE', 'D:/php/phpstudy/Extensions/php/xhprof/log/xhprof_dot_errfile.log');

define('TMP_DIRECTORY', 'D:/php/phpstudy/Extensions/php/xhprof/tmp');

define('DOT_BINARY', 'D:/software/Graphviz/bin/dot.exe');

重新点击链接 [View Full Callgraph],一张期待已久的效果图出来啦:

17fb5653a70131de400cd792a94187f2.png

使用xhprof会在nginx下报502 Bad Gateway错误

xhprof_enable()

xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

修改为:

xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值