#编译安装xhprof
tar xzvf xhprof-0.9.2.tgz
cd xhprof-0.9.2
#拷贝xhprof_html、xhprof_lib到目标web目录
cp -r xhprof_html xhprof_lib /data/www/test
cd extension/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
#修改php.ini,添加扩展
cat >> /usr/local/php/etc/php.ini << "EOF"
[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp/xhprof
EOF
#重启服务
mkdir -p /tmp/xhprof
chown webuser:webuser /tmp/xhprof
service php-fpm restart
#如果是64位系统需要将xhprof.so文件拷贝到相关的lib64的目录下
#将代码加入到要测试的php当中
=========================================================
<?pho
// cpu:XHPROF_FLAGS_CPU 内存:XHPROF_FLAGS_MEMORY
// 如果两个一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
// 要测试的php代码
$data = xhprof_disable(); //返回运行数据
// xhprof_lib在下载的包里存在这个目录,记得将目录包含到运行的php代码中
include_once "xhprof_lib/utils/xhprof_lib.php";
include_once "xhprof_lib/utils/xhprof_runs.php";
$objXhprofRun = new XHProfRuns_Default();
// 第一个参数j是xhprof_disable()函数返回的运行信息
// 第二个参数是自定义的命名空间字符串(任意字符串),
// 返回运行ID,用这个ID查看相关的运行结果
$run_id = $objXhprofRun->save_run($data, "xhprof");
//source的值就是save_run的第二个参数的值。其中,网址就是上面保存xhprof_html的路径。
echo '<a href="http://www.test.com/xhprof_html/index.php?run='.$run_id.'&source=xhprof" target="_blank">统计</a>';
=========================================================
#安装graphviz画图工具(画图有问题)
#下面还需要安装graphviz画图工具,用于显示xhprof的图表输出,方便查看
wget http://www.graphviz.org/pub/grap ... phviz-2.24.0.tar.gz
tar zxf graphviz-2.24.0.tar.gz
cd graphviz-2.24.0
./configure --with-png=yes
make && make install
#php.ini的safe_mode要关闭;函数proc_open不能禁用
#php.ini的访问目录配置增加“/dev/null”,如open_basedir=/data/www/test/:/tmp:/dev/null
#重启php-fpm服务生效
service php-fpm restart
|