标签:相关 打开 UNC ace 跳过 ons graph img rest
ps:
记住从github上面下载(https://github.com/phacility/xhprof),
不要从pecl.php.net站点下载,可能不支持高版本(比如本人使用的php5.4)。
1.解压文件 unzip
2.cd extension
3./usr/local/php/bin/phpize
4./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof
5.make
6.make install
7.cd /usr/local/php/etc
8.vim php.ini 在其中添加
[xhprof]
extension=xhprof.so
xhprof.output_dir="/www/xhprof/tmp" //注意创建此目录
重启lnmp后,查看phpinfo输出信息。查看到xhprof相关信息即代表成功。
或者命令行输入:
php -m |grep xhprof
如果显示xhprof则表示成功:
** 如果是一键安装包安装的lnmp环境,可以使用以下命令,否则找到自己nginx和php的目录重启 **
重启nginx: nginx -s reload
重启phpfpm: /etc/init.d/php-fpm restart
将代码放在/www/xhprof目录下,拷贝刚才下载到xhprof安装包中的xhprof_html和xhprof_lib2个目录。
创建测试php文件(见代码xhprof_html/test.php)
ps:
open_basedir: 将 PHP 所能打开的文件限制在指定的目录树
用 open_basedir 指定的限制实际上是前缀,不是目录名。
也就是说“open_basedir = /dir/incl”也会允许访问“/dir/include”和“/dir/incls”,如果它们存在的话。
如果要将访问限制在仅为指定的目录,用斜线结束路径名。例如:“open_basedir = /dir/incl/”。
【header.php】
if (extension_loaded('xhprof')) {
include_once '/www/xhprof/xhprof_lib/utils/xhprof_lib.php';
include_once '/www/xhprof/xhprof_lib/utils/xhprof_runs.php';
xhprof_enable(XHPROF_FLAGS_CPU && XHPROF_FLAGS_MEMORY); //为测试test.php里使用这行
//xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); //线上可以使用这个
}
ps:
XHPROF_FLAGS_NO_BUILTINS (integer)
使得跳过所有内置(内部)函数。
XHPROF_FLAGS_CPU (integer)
使输出的性能数据中添加 CPU 数据。
XHPROF_FLAGS_MEMORY (integer)
使输出的性能数据中添加内存数据。
【footer.php】
if (extension_loaded('xhprof')) {
$profiler_namespace = 'xhprof_foo';
$xhprof_data = xhprof_disable();
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, $profiler_namespace);
echo ""."Table View" . "";
echo " ";
echo ""."Photo View" . "";
}
【test.php】
简单的测试代码
//要测试的代码 开始
for($i=0;$i<10000;$i++){
strtoupper(substr(md5(md5(mt_rand())),1,20));
echo $i.'
';
}
//结束测试代码
标签:相关 打开 UNC ace 跳过 ons graph img rest
原文地址:https://www.cnblogs.com/luyuqiang/p/xhprof.html