Home  >  Article  >  Backend Development  >  PHP performance analysis tool xhprof

PHP performance analysis tool xhprof

藏色散人
藏色散人forward
2019-12-31 17:14:373445browse

php Install xhprof extension (compatible with php5 and 7)

git clone git@github.com:longxinH/xhprof.git
cd xhprof 
/usr/local/php7/bin/phpize 
./configure --with-php-config=/usr/local/php7/bin/php-config 
make 
sudo make install

The extension is compiled, confirm it

ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/xhprof.so

Put the prepend file in /tmp/xhprof.prepend .php under

vi /usr/local/php7/lib/php.ini
[xhprof]
extension=xhprof.so
auto_prepend_file ="/tmp/xhprof.prepend.php";

Restart apache

ps: prepend file xhprof.prepend.php

<?php
xhprof_sample_enable();
define(&#39;XHPROF_START_TIME&#39;, microtime(true));
register_shutdown_function(function () {
    $xhprof_time = microtime(true) - XHPROF_START_TIME;
    $xhprof_data = xhprof_sample_disable();
    if ($xhprof_time > 2 && !empty($xhprof_data)) {
        array_unshift($xhprof_data, http_build_query($_REQUEST));
        $xhprof_file = &#39;/tmp/xhprof/&#39; . date(&#39;YmdHis0000&#39;) . uniqid() . &#39;.&#39;
            . str_replace(&#39;.&#39;, &#39;_&#39;, strtolower((isset($_SERVER[&#39;HTTP_HOST&#39;]) ? $_SERVER[&#39;HTTP_HOST&#39;] : &#39;NOHOST&#39;)
            . &#39;-&#39; . (isset($_SERVER[&#39;REQUEST_METHOD&#39;]) ? $_SERVER[&#39;REQUEST_METHOD&#39;] : &#39;NOMETHOD&#39;)))
            . &#39;.xhprof&#39;;
        file_put_contents($xhprof_file, serialize($xhprof_data));
    }
});

The above is the detailed content of PHP performance analysis tool xhprof. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:lukachen.com. If there is any infringement, please contact admin@php.cn delete