标签:
安装:
到pecl官网找到xhprof最新版。
wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxvf xhprof-0.9.2.tgz cd xhprof-0.9.2 #拷贝这两个目录到一个可访问的host下 #cp -r xhprof_html xhprof_lib <directory_for_htdocs>
cp -r xhprof_html xhprof_lib /var/www/xhprof
cd extension which php-config #记录下php-config的路径,接下来要用。 phpize ./configure --with-php-config=/usr/bin/php-config #此处的地址就是上面你记录下来php-config的地址 make make install
修改php.ini
[xhprof] extension=xhprof.so ; ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. ;xhprof生成的文件存放路径。 ;记得目录有可写权限,否则文件无法生成,xhprof也不报错,这个问题我犯了错误了。 ;另外,这个目录不是要配置host访问的目录,host的目录还是xhprof_html,往下看就明白了 ;xhprof.output_dir=<directory_for_storing_xhprof_runs> xhprof.output_dir=/tmp
重启服务让修改生效,现在就可以使用XHProf了,不过为了显示效果更炫,最好继续安装Graphviz。
安装Graphviz的目的是为了xhprof图形化web工具查看profiling log文件。
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz tar zxf graphviz-2.24.0.tar.gz cd graphviz-2.24.0 ./configure make make install
使用:
// start profiling xhprof_enable(); // xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //输出表格包含CPU和内存使用信息,或者用|,位运算方式
// run program ....
// stop profiler
$xhprof_data = xhprof_disable(); // // Saving the XHProf run // using the default implementation of iXHProfRuns. // $XHPROF_ROOT = "/var/www/xhprof";//需要include下边的两个文件,路径就是上边配置时写的路径 include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); // 保存运行结果在xhprof_foo下,类似命名空间 // **NOTE**: //save_run返回一个唯一的run_id,也可以通过参数指定id. $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
//点击页面中的连接访问 echo "---------------\n". "Assuming you have set up the http based UI for \n". "XHProf at some address, you can view run at \n". "http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n". "---------------\n";
标签:
原文地址:http://www.cnblogs.com/leezhxing/p/4785184.html