元のリンク: http://blog.snsgou.com/post-816.html
1. XHProf をダウンロードします
ここ http://dev.freshsite.pl/php-extensions/xhprof.html にアクセスして、Windows をダウンロードします。 XHProf バージョンでは、PHP 5.3 vc9
および xhprof_html2 用の
XHProf 0.10.3 をダウンロードすることを選択します。 XHProf
をインストールし、圧縮パッケージ内の xhprof_0.10.3_php53_vc9.dll を PHP の ext ディレクトリにコピーします。次に、php で設定を .ini 設定に追加します (対応するフォルダーを作成することを忘れないでください)
[xhprof] extension=xhprof_0.10.3_php53_vc9.dll ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. xhprof.output_dir="d:/PHP/xhprof/log"
3. XHProf
を使用して、テストする Web サイトのルート ディレクトリに xhprof_html.zip を解凍します。たとえば、public/xhprof/windows の下の Web サイト ディレクトリに配置しました。
テストファイル:
<?php function bar($x) { if ($x > 0) { bar($x - 1); } } function foo() { for ($idx = 0; $idx < 5; $idx++) { bar($idx); $x = strlen("abc"); } } // 启动xhprof xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); // 调用foo函数,也是我们要分析的函数 foo(); // 停止xhprof $xhprof_data = xhprof_disable(); // 取得统计数据 //print_r($xhprof_data); $os = 'windows'; $XHPROF_ROOT = dirname(__FILE__) . '/public/xhprof/' . $os; <strong>include</strong>_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; <strong>include</strong>_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; // 保存统计数据,生成统计ID和source名称 $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo"); // source名称是xhprof_foo // 查看统计信息 echo "<div><a href='/public/xhprof/" . $os . "/xhprof_html/index.php?run=" . $run_id . "&source=xhprof_foo' target='_blank'>XHProf view</a></div>";
リンク「[View Full Callgraph]」をクリックすると、エラーが報告されます:
cmdの実行に失敗しました: " dot -Tpng"
したがって、次のことも必要です。グラフィック ツール Graphviz をダウンロードします。
4. Graphviz をダウンロードします
ここ http://www.graphviz.org/Download_windows.php にアクセスして、Graphviz の Windows バージョンをダウンロードします
graphviz-2.38.zip
5。解凍後、Graphviz をディレクトリ (d:/PHP/xhprof/graphviz-2.38/
6) にコピーします。 Graphviz を構成します
上記の Web サイトのディレクトリ /public/xhprof/windows/ で
config.phpを見つけます。 ファイルは次のように調整されます:
<?php /** * Set the absolute paths on your system */ define('ERROR_FILE', 'd:/PHP/xhprof/log/xhprof_dot_errfile.log'); define('TMP_DIRECTORY', 'd:/PHP/xhprof/tmp'); define('DOT_BINARY', 'd:/PHP/xhprof/graphviz-2.38/release/bin/dot.exe');
[View Full Callgraph] リンクを再度クリックすると、待望のレンダリングが表示されます:
Apache22 + PHP 53 PHP パフォーマンス テストをインストールします。ツール xhprof" / >