zoukankan      html  css  js  c++  java
  • xhprof 安装详解

    准备工作
    1.xhprof不支持php7,需要php7以下版本
    2.php扩展模块xhprof下载地址: http://pecl.php.net/get/xhprof-0.9.4.tgz

    xhprof安装

    $ php -v #查看php版本 如果为php7的话 会报错 可以进行php降级处理
    以下降级处理 前提装的是lnmp集成环境
    $ wget http://soft.vpser.net/lnmp/lnmp1.4.tar.gz #下载安装脚本压缩包
    $ tar -zxvf lnmp1.4.tar.gz #解压压缩包
    $ cd lnmp1.4 #进入lnmp目录
    $ ./upgrade.sh php #执行php脚本 输入版本号
    

      

    $ php -v #脚本执行后看php版本 为php5.6.31的话 进行以下步骤
    $ php -m # 查看php所有扩展
    $ cd /usr/local/php/include/php/ext # 进入php扩展模块目录
    $ wget http://pecl.php.net/get/xhprof-0.9.4.tgz #下载模块xhprof包
    $ tar -zxvf xhprof-0.9.4.tgz #解压xhprof压缩包
    $ mv xhprof-0.9.4 xhprof #修改文件名xhprof-0.9.4 为 xhprof
    $ cd xhprof/extension #进入xhprof下的extension目录
    $ /usr/local/php/bin/phpize #执行phpize命令
    $ ./configure --with-php-config=/usr/local/php/bin/php-config #执行./configure进行编译前配置
    $ make && make install #编译安装
    

      

    $ vim /usr/local/php/etc/php.ini #编辑php.ini 在最后一行添加以下内容
    [xhprof]
    extension=xhprof.so
    xhprof.output_dir=/var/xhprof_data
    

      

    $ mkdir -p /var/xhprof_data #创建xhprof临时文件目录
    $ chmod 777 /var/xhprof_data
    $ systemctl restart php-fpm #重启php
    $ php -m #查看php扩展 出现xhprof了 就是扩展安装成功了
    
    $ cd /home/wwwroot/default #进入php的www目录
    $ mkdir xhprof #创建xhprof目录
    $ cd /usr/local/php/include/php/ext/xhprof #进入php扩展xhprof目录
    $ mv examples/ xhprof_html/ xhprof_lib/ /home/wwwroot/default/xhprof #将php扩展xhprof目录的文件 移动到 php的www目录下的xhprof目录
    

      

    访问出现的错误解决方法

    访问地址:http://192.168.0.149/xhprof/examples/sample.php
    复制最下面的那个地址到地址栏
    http:///index.php?run=5a70263b3ca67&source=xhprof_foo
    

      

    访问地址修改为: http://192.168.0.149/xhprof/xhprof_html/index.php?run=5a70263b3ca67&source=xhprof_foo
    

      

    点击 [View Full Callgraph] 出现

    根据错误提示有三种 不过一般是这两种
    
    1.we can not find profile data for run_id 5a70263b3ca67
    2.you do not have 'dot' image generation utility installed.
    

      

    首先假设是第一种情况 先验证我们的想法

    $ cd /var/xhprof_data # 进入存放xhprof临时文件的地方
    $ ls # 查看列表  如果为空的话 说明没有写东西进去
    $ vim  /usr/local/php/etc/php.ini # 468行 修改为 display_errors = On
    $ systemctl restart php-fpm #重启php|
    

    这时再访问地址

    我们需要修改nginx配置文件的openbase_dir选项

    $ vim /usr/local/nginx/conf/fastcgi.conf #在最后一行添加 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/var/xhprof_data";
    $ systemctl restart nginx #重启nginx
    

    然后再打开地址 http://192.168.0.149/xhprof/examples/sample.php  再把最下面的地址复制出来 放到地址栏访问 

    继续点击 [View Full Callgraph] 出现

    函数去除后 可能会报这个错

    sh:dot:command not found 解决办法:

    $ yum -y install graphviz
    

    效果ok结果:

    参考资料:

    http://www.zhimengzhe.com/php/338363.html

    http://www.cnxct.com/you-do-not-have-dot-image-generation-utility-installed/

  • 相关阅读:
    find命令
    shell编程基础
    grep命令
    awk命令
    结对项目之需求分析与原型模型设计
    使用Git进行代码管理的心得
    软件工程的实践项目的自我目标
    第五次作业——团队项目——需求规格说明书
    调研android开发环境的发展演变
    结对编程总结
  • 原文地址:https://www.cnblogs.com/foreversun/p/8386298.html
Copyright © 2011-2022 走看看