• wget
    去这里找最新的包下载,我现在最新的是xhprof-0.9.4.tgz

    cd /tmp
    mkdir xhprof && cd xhprof
    wget http://pecl.php.net/get/xhprof-0.9.4.tgz
    tar -xvf xhprof-0.9.4.tgz
    cd xhprof-0.9.4/extension/
    phpize

    我在进行这步的时候,提示我没有安装phpize,下一步就是安装phpize,如果已经安装了phpize,可以跳过下一步

  • phpize
    因为phpize在php-devel包里面,所以先需要安装php-devel
    yum search php-devel
    

    如果你和我一样,找不到这个包的话,建议添加电子科技大学的源

    cd /tmp
    wget http://mirrors.stuhome.net/files/centos_repo/6/CentOS-Base.repo
    cp CentOS-Base.repo /etc/yum.repos.d/CentOS-Base-Uestc.repo -v
    yum makecache
    yum install php-devel -y

    装好了phpize就可以进行安装了

    phpize
    
  • 接下来是源码安装三部曲:
    whereis php-config
    /*看看你的php-config在什么路径,然后放到后面的path-to php-config,一般是/usr/bin/php-config */
    ./configure --with-php-config=<path to php-config >
    make
    make install
    mkdir -p /var/tmp/xhprof
  • 编译添加了xhprof.so文件,现在需要配置php启用这个so文件,去/etc/php.d/文件夹下面添加文件xhprof.ini
    extension=xhprof.so
    xhprof.outout_dir=/var/tmp/xhprof
    /*请确定上面配置的/var/tmp/xhprof目录是存在的*/

    然后就是重新启动你的php,之后用命令查看

    php -ini | grep xhprof -i
    

    看看是否已经安装上了,安装好了之后,就可以开始设置监控了

  • 将文件拷贝到网站目录里面,然后添加监控代码到统计文件中
    mkdir -p /var/www/xhprof && cd /var/www/xhprof/
    cp -r /tmp/xhprof/xhprof-0.9.4/xhprof_html/ ./
    cp -r /tmp/xhprof/xhprof-0.9.4/examples/ ./
    cp -r /tmp/xhprof/xhprof-0.9.4/xhprof_lib/ ./
    mkdir logs

    配置nginx的虚拟主机目录,在/etc/nginx/conf.d/目录下面新建xhprof.conf
    然后修改文件内容为:

    server{
    listen 80;
    server_name effect.vpsbuy.info;
    root /var/www/xhprof;
    access_log /var/www/xhprof/logs/access.log;
    error_log /var/www/xhprof/logs/error.log;
    index index.php; location = favicon.ico {
    log_not_found off;
    access_log off;
    } location = /robots.txt{
    allow all;
    log_not_found off;
    access_log off;
    }
    location / {
    root /var/www/xhprof;
    }
    location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass php;
    fastcgi_index xhprof_html/index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    }

    重新启动nginx

    nginx -t
    nginx -s reload

    修改examples目录下面的sample.php文件,将最后一行的echo改成这样

    echo "---------------\n".
    "Assuming you have set up the http based UI for \n".
    "XHProf at some address, you can view run at \n".
    "http://effect.vpsbuy.info/xhprof_html/index.php?run=$run_id&source=xhprof_foo\n".
    "---------------\n";

    将这个http://effect.vpsbuy.info/xhprof_html/改成你自己的url路径。
    然后就是配置监控

    $xhprof_enable = false;
    if(mt_rand(1,10)==1){ //这里设置监控的比例
    xhprof_enable();
    $xhprof_enable = true;
    }
    //这里写上你要监控的函数
    if($xhprof_enable ){
    $xhprof_data = xhprof_disable();
    //$XHPROF_ROOT = realpath(dirname(__FILE__) .'/..');
    $XHPROF_ROOT = /var/www/xhprof;
    include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
    include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
    // save raw data for this profiler run using default
    // implementation of iXHProfRuns.
    $xhprof_runs = new XHProfRuns_Default();
    // save the run under a namespace "xhprof_foo"
    $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
    }

    现在就可以统计了,然后就是安装生成访问图像的

    yum install graphviz

    如果你觉得写得不错,请捐赠作者:

    作者:

XhProf安装教程–详细教程的更多相关文章

  1. 安装WordPress详细教程指南

    最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...

  2. Ubuntu下安装JDK详细教程

    Ubuntu下安装JDK详细教程 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-desktop-i386 ...

  3. Windows下安装MySQL详细教程

    Windows下安装MySQL详细教程 1.安装包下载  2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...

  4. npm安装vue详细教程(图片详解)

    npm安装vue详细教程(图片详解) 一.总结 一句话总结:整个安装流程照着教程来,注意系统环境变量的配置,注意一下npm的本地仓库和缓存位置 教程 系统环境变量 仓库 缓存 1.什么情况下最适合用n ...

  5. ubuntu安装scala详细教程

    ubuntu14 安装scala详细教程 1.下载scala压缩包 http://www.scala-lang.org/download/ 2.建立目录,解压文件到所建立目录 $ sudo mkdir ...

  6. Centos7安装Typecho详细教程

    Centos7安装Typecho详细教程   首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...

  7. Linux系统下Dubbo安装的详细教程

    Linux系统下Dubbo安装的详细教程 1.Dubbo的简介 Dubbo是 [1]  阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [ ...

  8. Windows安装Jenkins详细教程(图文教程)

    一.安装前准备 1.提前安装好jdk,可参考以下链接进行安装 Windows安装JDK详细教程(图文教程) 2.Jenkins官网下载安装包(因为本人jdk安装的是1.8,所以会和最新版jenkins ...

  9. Mysql安装的详细教程

    首先,针对本人最近几天各种电脑安装数据库失败,反思总结所有的方式.现写出详细教程,希望别的人少走弯路. 首先 这次内容分为如下几步 : 1.mysql之前安装的彻底清除 2.mysql版本的选取 3. ...

  10. Linux 安装 Tomcat 详细教程

    Linux 安装Tomcat详细步骤 1. 前往tomcat官网复制下载链接, tomcat官网地址:https://tomcat.apache.org/ 2. 进入到指定目录,使用 wget 命令下 ...

随机推荐

  1. 白帽子讲Web安全2.pdf

    XSS构造技巧 利用字符编码: var redirectUrl="\";alert(/XSS/);"; 本身没有XSS漏洞,但由于返回页面是GBK/GB2312编码的“% ...

  2. Bzoj 1975: [Sdoi2010]魔法猪学院 dijkstra,堆,A*,K短路

    1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1357  Solved: 446[Submit][Statu ...

  3. Bzoj 1674: [Usaco2005]Part Acquisition dijkstra,堆

    1674: [Usaco2005]Part Acquisition Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 337  Solved: 162[Sub ...

  4. maven构建带版本号和日期的war包名

    21166312 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !import ...

  5. 转载:C++之高精度算法

    C++之高精度算法 注意:本文转载自http://blog.sina.com.cn/s/blog_4fdb102b010087ng.html,十分感谢原作者:忍者    前言:由于计算机运算是有模运算 ...

  6. Get familiar with key Frameworks of ios

    Frameworks make your life easier as an iOS Developer. They allow you to reuse code written by other ...

  7. iPhone 6出现后,如何将一份设计稿支持多个尺寸?

    http://mp.weixin.qq.com/s?__biz=MzA4NTQzNTMwOA==&mid=201174413&idx=3&sn=c3fe5b3459bac288 ...

  8. java 删除字符串中的特定字符

    /** * Delete any character in a given String. * @param inString the original String * @param charsTo ...

  9. cocos2d-x 关于opengl version too old 问题解决办法

    转载请注明出处 http://blog.csdn.net/u010229677/article/details/9704961 今天cocos2d-x突然出现这个对话框,去国外论坛找的解决办法.折腾许 ...

  10. 【设计模式 - 21】之空对象模式(Null Object)

    1      模式简介 在空对象模式中,一个空对象取代NULL对象的实例的检查.NULL对象不是检查空值,而是反映一个不做任何动作的关系.这样的NULL对象也可以在数据不可用的时候提供默认的行为. 在 ...