xhprof 的安裝
該 xhprof 版本是從 https://github.com/longxinH/xhprof 獲取,如有更好的選擇跋理,煩請(qǐng)聯(lián)系我翻具。
cd ~
git clone https://github.com/longxinH/xhprof
安裝 xhprof
cd xhprof/extension/
/opt/php-7.0.14/bin/phpize
./configure --with-php-config=/opt/php-7.0.14/bin/php-config --enable-xhprof
make
make install
出現(xiàn)
Installing shared extensions: /opt/php-7.0.14/lib/php/extensions/no-debug-non-zts-20151012/
代表編譯成功
修改 php.ini 文件
/opt/php-7.0.14/bin/php -i | grep php.ini //命令查找php.ini文件的位置
在/etc/php.ini
中增加如下配置
[xhprof]
extension=xhprof.so
xhprof.output_dir=/data/www/xhprof/save_output_dir //該目錄自由定義即可,用來保存xhprof生成的源文件
保存好之后,重啟php-fpm
kill -USR2 `cat /opt/php-7.0.14/var/run/php-fpm.pid`
將相關(guān)文件移動(dòng)到項(xiàng)目中
//切換到下載的 xhprof 目錄
cp -r xhprof/xhprof_html ROOT_PATH/
cp -r xhprof/xhprof_lib ROOT_PATH/
使用
xhprof_enable();
//你需要分析的代碼
$xhprof_data = xhprof_disable();
include_once ROOT_PATH.'/xhprof_lib/utils/xhprof_lib.php';
include_once ROOT_PATH . '/xhprof_lib/utils/xhprof_runs.php';
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");
//將run_id保存起來或者隨代碼一起輸出
查看數(shù)據(jù)
訪問$host_url/xhprof_html/index.php?run=58d3b28b521f6&source=xhprof_test
來查看結(jié)果
圖形化結(jié)果
點(diǎn)擊[View Full Callgraph]
可以看圖形化結(jié)果
報(bào)錯(cuò)
failed to execute cmd:" dot -Tpng". stderr:sh: dot:command not found。
//解決方案
yum install graphviz