1. インストールと構成
1. PHP 用の XDebug 拡張機能を次の場所からダウンロードします。 0RC3 .gz
cd xdebug-2.0.0RC3
/usr/local/php/bin/phpize
./configure --enable-xdebug
注: /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/異なる PHP バージョンには異なるパスがあり、必ずしも必要ではありませんこのパスについては、zend_extension_ts 内の xdebug.so の場所を指定できます。
Quote
php.iniを変更し、PHPアクセラレーションモジュールを削除し、Xdebugをサポートするために次の構成情報を追加します]
zend_extension_ts= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/xdebug.so"
xdebug.profiler_enable=on xdebug .trace_output_dir="/tmp/xdebug"
Quote
chmod 755 /tmp/xdebug
chown www: www /tmp/xdebug usr_local_apache_htdocs_tag_tag s_php_cachegrind.out
usr_local_apache_htdocs_top_top_php_cachegrind.out
2. 上記のファイルをWindowsにコピーし、クライアントソフトWinCacheGrindを使って各ファイルを開き、以下のPHPプログラムの実行にかかる時間を求める 最長:
/usr/local/apache/htdocs/tag/tags.php 840msかかる
3. 解析結果:
1. /usr/local/apache/htdocs/tag/tags.php
( 1) 最も時間のかかる filter_tags 関数は、/usr/local/apache/htdocs/tag/tags.php の 158 行目に表示されます。
$tags .= filter_tags($videos[$i]['tags']). " ";
(2) filter_tags 関数は /usr/local/apache/htdocs/include/misc.php から引用しています。 getForbiddenTags 関数は、filter_tags 関数によって 21 回呼び出されます。 getForbiddenTags 関数の内容は次のとおりです:
view plainprint?
function getForbiddenTags()
{
$tagsPath = TEMPLATE_FILE_PATH."tags/forbidden_tags.txt";
場合($fp)