博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[PHP] Xhprof 非侵入式使用指南
阅读量:5985 次
发布时间:2019-06-20

本文共 1105 字,大约阅读时间需要 3 分钟。

 

一般使用 Xhprof ,按文档操作可以快速上手,文件头开启 Xhprof,应用结束处得到访问的url查看。

 

这种使用方式可以快速看到效果,同时也有一些不好的地方:

一是不利于重复利用写好的示例代码;二是你需要改不同的Web应用。

 

怎样做到不在现有应用中加入无关紧要的代码,又能达到目的?

 

php提供了一种机制:

php.ini 中的 auto_prepend_file 允许我们每次php应用访问前都先执行某个文件;

( http://php.net/manual/zh/ini.core.php#ini.auto-prepend-file )

 

register_shutdown_function() 允许我们注册某个函数,在php的最后执行;

( http://php.net/manual/zh/function.register-shutdown-function.php )

 

利用上面的机制,我们就能让php在应用访问前执行 Xhprof 开启,访问结束后 Xhprof 关闭并记录.

 

程序已经写好,下面是操作步骤,具体的源代码中也有:

1. 装好 xhprof (pecl install xhprof-0.9.2),php.ini 加入 extension=xhprof.so

2. 把 本文件、xhprof源代码中xhprof_html目录、xhprof_lib目录,三者放在web可访问根目录.
3. 配置 php.ini 加入以下部分,并重启 php-fpm:

  xhprof.output_dir=/tmp

    ;auto_prepend_file=/home/www/Xhprof.php

    ( 可以不指定auto_prepend_file,而是在具体应用的 Nginx 配置中,访问php的区间段加入: )

    ( fastcgi_param PHP_VALUE "auto_prepend_file=/home/www/Xhprof.php"; )
    ( 这种方式更优一点,主要是不用影响整个php的行为. )
4. 修改程序 configure 部分,一般情况需要改 $xhprof_lib_path 和 $supervise['urls']
5. 访问你的任何web应用.
6. 查看run_id:tail /tmp/xhprof.log
7. 查看效果:http://localhost/xhprof_html/?run=58468d515bddd&sort=mu&source=xhprof_testing
    用run_id替换地址中的run.

 

Source-code:

Link:

转载地址:http://hzylx.baihongyu.com/

你可能感兴趣的文章
熟练掌握HDFS的Java API接口访问
查看>>
函数式接口
查看>>
Javascript事件模型(二):Javascript事件的父元素和子元素
查看>>
折腾kali linux2.0
查看>>
C# 会可能需要的扩展
查看>>
Java知多少(93)鼠标事件
查看>>
微积分
查看>>
AD中关于网络标号和导入PCB
查看>>
linux高级编程day02 笔记
查看>>
maven笔记(4)
查看>>
javaBean为什么要implements Serializable
查看>>
Maven Dependencies missing jar 解决
查看>>
3.第一个Node.js程序:Hello World!
查看>>
[TJOI2015]弦论
查看>>
springMVC 静态文件 访问
查看>>
2014上海邀请赛 C Dp + 记录路径
查看>>
Revit API找到墙的正面
查看>>
2018-2019-1 20165306 《信息安全系统设计基础》第六周学习总结
查看>>
[02] 2017前端面试100题
查看>>
java内外循环打印阶梯*号
查看>>