Home  >  Article  >  php教程  >  PHP代码性能的分析方法

PHP代码性能的分析方法

WBOY
WBOYOriginal
2016-06-13 09:28:201024browse

PHP代码性能的分析方法

 php代码的性能分析。

你可以用xdbug去分析。

但是更好的选择是facebook的性能分析工具xhprof。

它可以图形化。前提是你安装了gd库,你也可能遇到一些小问题。我记得要更新linux的图像库。

安装xhprof扩展:pecl install xhprof .


/**
 *
 *
 * Beck Confidential
 * Copyright (c) 2013, Beck Corp. .
 * All rights reserved.
 *
 * PHP version 5
 *
 * @category  Aug
 * @package package_name
 * @author beck
 * @date 2013-8-13
 * @license
 * @link
 *
 */
class Xhprof
{
    protected $flags = 0;
    protected $options = array();
    protected $xhprofData = array();
    /**
     * 配置你的xhprof 你可以在php的官网看着个应用的说明
     * @param unknown $config
     * @throws ExtensionNotFoundException
     */
    public function __construct($config = array())
    {
        if (!extension_loaded('xhprof')) {
            throw new ExtensionNotFoundException(
                'Configuration error! Make sure you have xhprof installed correctly.
                please refer http://www.php.net/manual/en/xhprof.examples.php for detail.'
            );
        }
        if (!empty($config['flags'])) {
            $this->flags = (int)$config['flags'];
        }
        if (!empty($config['options'])) {
            $this->options = $config['options'];
        }
    }
    /**
     * 开启调试
     */
    public function enable()
    {
        xhprof_enable($this->flags, $this->options);
    }
    public function disable()
    {
        $this->xhprofData =  xhprof_disable();
    }
    /**
     *显示调试结果
     * 你可能需要配置一个apache/nginx虚拟主机
     */
    public function show()
    {
        $this->disable();
        include_once "xhprof_lib/utils/xhprof_lib.php";
        include_once "xhprof_lib/utils/xhprof_runs.php";
        $xhprof_runs = new XHProfRuns_Default();
        $run_id = $xhprof_runs->save_run($this->xhprofData, "xhprof_testing");
        echo "see xhprof result";
    }
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn