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/
xhprof 安装详解的更多相关文章
- Linux ssh登录和软件安装详解
阿哲Style Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...
- 【转】Linux下Android ADB驱动安装详解
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...
- scribefire 多博客管理利器 安装详解
scribefire 多博客管理利器 安装详解 一.ScribeFire介绍 ScribeFire 是 Firefox (火狐浏览器)上著名的博客写作工具,目前已跨平台支持多浏览器(Firefox,C ...
- CentOS 6.5的安装详解
CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,Cent ...
- Linux下tomcat的安装详解
Linux下tomcat的安装详解 来源: ChinaUnix博客 日期: 2007.01.21 22:59 (共有0条评论) 我要评论 一,安装前的准备:1,Linux版本:我的是企业版.(至于红帽 ...
- Phoenix和SQuirrel安装详解
Phoenix安装详解 描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天的主角是Phoenix. phoenix,中文译为“凤凰” ...
- zabbix agent安装详解
安装 Installing repository configuration package Zabbix 2.2 for RHEL5, Oracle Linux 5, CentOS 5: rpm - ...
- zabbix server安装详解
简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以 ...
- Oracle Database 12c Release 2安装详解
第1章 Oracle Database 12c Release 2安装详解 1.1 下载方法 oracle官网https://www.oracle.com 1)打开官方网站,找到下载连接 2)选择更多 ...
随机推荐
- A New Function(LightOJ 1098)积性函数前缀和的应用
题意:要求对于1~n,每个数的约数(不包括1和其本身)的和. 题解:由于题目数据有2*10^9之大,因而不能直接暴力.需要考虑积性函数的特性,由于必定有重复的约数出现,因而可以对重复约数所在的区间进行 ...
- centos 7.x开放端口
1. 查看已打开的端口 # netstat -anp 2. 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 若此提示 FirewallD is not ...
- Hash 1.04 右键
http://keir.net/hash.html Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Hash 1.04\ ...
- NodeJS入门教学
http://v.baidu.com/v?word=Node.JS+%2B+MongoDB&ct=301989888&rn=27&pn=0&db=0&s=0&a ...
- mysql识别中文
在配置的INI中加上这些 [mysql]default-character-set=utf8no-auto-rehash# Remove the next comment character if y ...
- 初识docker-镜像
前言: 以前学习docker 都是零零碎碎的,只知道用,有些莫名其妙的报错自己也没有思路去解决,所以基于一本专业的介绍docker的书籍,重新开启学习,该博客就记录下我自己的学习过程吧. 1.dock ...
- java使用jdbc连接oracle(其他数据库类似)
最基本的Oracle数据库连接代码: 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\oracle\product ...
- dubbo文档
Srping版Dubbo集成中文地址: https://dubbo.gitbooks.io/dubbo-user-book/content/preface/background.html Spring ...
- BZOJ 4584 luogu P3643: [Apio2016]赛艇
4584: [Apio2016]赛艇 Time Limit: 70 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 在首尔 ...
- android 开发 View _1_ View的子类们 和 视图坐标系图
目录: android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览 android 开发 View _3_ View的属性动画ValueAnimator a ...