そのxhprofのためのテストプラットフォームを作ります

1.まず、LNMPとして、PHPの開発環境をインストールします。

2. xhprofをインストールします。

PS:
上記githubのからダウンロードすることを忘れないでくださいhttps://github.com/phacility/xhprof)、
サイトからダウンロードpecl.php.netはありません、それは(例えば、私はphp5.4を使用)、高いバージョンをサポートしていないかもしれません。

インストール手順:

1.解凍したファイルの解凍

2.cd延長

3./usr/local/php/bin/phpize

=は/ usr / local / PHP / binに/ PHP-設定--enable-xhprof 4./configure --with-PHP-コンフィグ

5.make

6.makeインストール

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が成功されている場合:

、PHP **あなたがLNMP環境の主要なインストールパッケージの場合は**、あなたはそれ以外の場合は、次のコマンドを使用することができカタログ再起動nginxの自分自身を見つけます

再起動nginxの:nginxの-sリロード

再起動phpfpm:/etc/init.d/php-fpm再起動

3.サイトを設定しました

/ WWW / xhprofディレクトリ内のコードは、単にパッケージxhprof_html XHProf xhprof_lib2とディレクトリをインストールするためにダウンロードをコピーします。

テストPHPファイルを作成します(コードxhprof_html / test.phpを参照)

4.インストールは、グラフィカルをサポートするように拡張しました

  • yumのアップデート
  • yumのドットをインストール-y *
  • yumをgraphvizのインストール

5.プロファイルのphp.iniを変更します。

  • proc_openでdisable_functionsは削除します。
  • パラメータを変更します。auto_prepend_file = / WWW / xhprof / xhprof_html / header.phpの
  • パラメータを変更します。auto_append_fileでインクルード= / WWW / xhprof / xhprof_html / footer.php
  • オプションの修飾パラメータのopen_basedirの:open_basedirの= / www /のxhprof

PS:

open_basedirの:PHPが指定されたディレクトリツリーの制限内のファイルを開くことができます

で指定される制限は実はプレフィックスではなく、ディレクトリ名です。

それらが存在する場合には、 "open_basedirの= /ディレクトリ/税込" も、 "/ DIR /含める" と "/ DIR / INCLS" にアクセスすることができます。

あなたが唯一の指定されたディレクトリへのアクセスを制限したい場合は、スラッシュの名で終わります。例: "open_basedirの= /ディレクトリ/税込/"。

6.この時点で、すべてのサイトがサーバーの下xphrof情報を生成することができます。

【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(整数)

このようなすべてのビルトイン(内部)関数をスキップします。

XHPROF_FLAGS_CPU(整数)

CPUからのパフォーマンスデータの出力は、データを追加します。

XHPROF_FLAGS_MEMORY(整数)

メモリデータからのパフォーマンスデータの出力が追加されます。

【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.'
';
}
//结束测试代码

おすすめ

転載: www.cnblogs.com/luyuqiang/p/xhprof.html