1. インストールと構成
1. PHP 用の XDebug 拡張機能を次の場所からダウンロードします: http://xdebug.org/
2. Linux で XDebug をコンパイルしてインストールします
Quote
tar -xzf xdebug-2.0.0RC3.gz
cd xdebug-2.0.0RC3
/usr/local/php/bin/phpize
./configure --enable-xdebug
cp modules/xdebugしたがって、/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/
注: /usr/local/php/lib/php/extensions/no-debug- non -zts-20020429/ PHP バージョンが異なるとパスも異なるため、このパスに配置する必要はありません。zend_extension_ts で xdebug.so の場所を指定できます。
Quote
vi /usr/local/php/lib/php.ini
php.ini を変更し、PHP アクセラレーション モジュールを削除し、XDebug 拡張機能をサポートするために次の構成情報を追加します。
コードをコピーします コードは次のとおりです:
[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"
xdebug.profiler_output_dir=" /tmp/xdebug"
xdebug.profiler_output_name="script"
(1) 最長の filter_tags 関数は /usr/local/apache/htdocs/tag/tags.php の 158 行目に表示されます:
$tags .= filter_tags($ videos[$i ]['tags'])." ";
(2) /usr/local/apache/htdocs/include /misc.php から filter_tags 関数を引用し、その filter_tags によって getForbiddenTags 関数が呼び出されます。この関数を 21 回実行すると、filter_tags 関数に費やされる時間のほとんどは getForbiddenTags 関数によって発生します。 getForbiddenTags 関数の内容は次のとおりです。
コードをコピー コードは次のとおりです。
function getForbiddenTags(){
$tagsPath=TEMPLATE_FILE_PATH."tags/forbidden_tags.txt";
if(file_exists($tagsPath))
{
$fp = fopen($tagsPath, "r ");
$ arrconf = array ();
if ($fp)
{
while (!feof($fp))
{
$line = fgets($ fp, 1024);
$line = トリム($line);
$rows =explode("=, トリム($rows[ 0]));
if(""!=trim($coumns[0]))
{
$arrconf[trim($coumns[0])] = トリム($coumns[1] );
}
}
}
return $arrconf;
}
}
(4) getForbiddenTags 関数、PHP 関数の分析16827 回呼び出されました。