微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php 性能分析工具 xhprof

PHP 安装 xhprof 扩展 (兼容PHP5、7)

git clone [email protected]:longxinH/xhprof.git
cd xhprof 
/usr/local/PHP7/bin/PHPize 
./configure --with-PHP-config=/usr/local/PHP7/bin/PHP-config 
make 
sudo make install

扩展编译完成,确定一下

ls /usr/local/PHP7/lib/PHP/extensions/no-debug-non-zts-20180731/xhprof.so

把 prepend 文件放在 /tmp/xhprof.prepend.PHP

vi /usr/local/PHP7/lib/PHP.ini
[xhprof]
extension=xhprof.so
auto_prepend_file =/tmp/xhprof.prepend.PHP;

重启 apache

ps: prepend 文件 xhprof.prepend.PHP

<?PHP
xhprof_sample_enable();
define('XHPROF_START_TIME', 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 = '/tmp/xhprof/' . date('YmdHis0000') . uniqid() . '.'
            . str_replace('.', '_', strtolower((isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'NOHOST')
            . '-' . (isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'NOMETHOD')))
            . '.xhprof';
        file_put_contents($xhprof_file, serialize($xhprof_data));
    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐