XDebug если при отладке вам надоели echo(), var_dump() и print_r(). Часть 2.

Официальный сайт по проекту - http://www.xdebug.org
Параметры настройки, в скобках указана версия (например, Xdebug 2) - http://www.xdebug.org/docs-settings.php
Документация - http://www.xdebug.org/docs.php

Установка XDebug2 под Windows

1. Скачиваем расширение под нужную вам версию PHP:
- PHP 4.4.1+
- PHP 5.1.2+
- PHP 5.2.1+

2. Правим php.ini:
; путь к скачанному расширению (указать свой). если не будет работать, заменить zend_extension_ts на extension
zend_extension_ts="C:\program files\php\extensions\php_xdebug.dll"
; включение/отключение профайлинга (1/0)
xdebug.profiler_enable = 1
; директория для результатов профайлинга (по умолчанию)
xdebug.profiler_output_dir = "c:\program files\php\tmp_xdebug"

Данные по выполнению скрипта пишутся в файл формата cachegrind (текстовый файл). Эти файлы прекрасно читает виндовая утилита WinCacheGrind.

Установка XDebug2 под Linux

1. Скачиваем исходный код
2. Правим php.ini:
; включение/отключение профайлинга (1/0)
xdebug.profiler_enable = 1
; директория для результатов профайлинга (по умолчанию)
xdebug.profiler_output_dir = "/data/home/user/projects/tmp_xdebug"
3. Дальше курим мануал :)

Настройка XDebug

Если у вас один проект, над которым вы работаете, то директивы XDebug можно прописать в файле php.ini. Они будут действовать на все проекты на вашем веб-сервере.

Если же вам нужно настроить XDebug индивидуально под каждый проект, то используйте php_value в файле .htaccess (Apache)

Пример настройки:

#Изменить пути к логу на свои (+создать директорию для лога)

#путь к логу XDebug
php_value xdebug.profiler_output_dir /data/home/user/your_project/tmp_xdebug

#php_value xdebug.trace_output_dir /data/home/user/your_project/tmp_xdebug

#подключаемый вспомогательный файл для виндовой утилиты WinCacheGrind (выдает профайл-лог)
#При отладке в адресной строке браузера вводить GET-параметр ?XDEBUG_PROFILE (http://yourhost/?XDEBUG_PROFILE). Открыть результат WinCacheGrind’ом
php_value php_value auto_prepend_file /data/home/user/your_project/Debug.class.php

#автотрасировка выключена
php_flag xdebug.auto_trace 0

#важная опция. При 1 - лог сохранятся, при 0 - выдается при GET-параметре XDEBUG_PROFILE (http://yourhost/?XDEBUG_PROFILE)
php_flag xdebug.profiler_enable 0

php_flag xdebug.profiler_enable_trigger 1

#собирать параметры, возвращаемые значения, переменные (0 - выключено, 1 - вкл)
#php_flag xdebug.collect_params 0
#php_flag xdebug.collect_return 0
#php_flag xdebug.collect_vars 0

#отключает обработку ошибок профайлером, 1 - включает
#php_flag xdebug.default_enable 1

#показывать в логе использование памяти между вызовами функций
php_flag xdebug.show_mem_delta 1

#1 - человекопонятный вывод лога
php_flag xdebug.trace_format 0

#timestamp - второй формат названия выходного файла
#php_value xdebug.trace_output_name crc32

php_value xdebug.profiler_output_name pid

Полный список настроек.

Вспомогательный файл для получения профайл-лога через GET-параметр и просмотра WinCacheGrind (скачать), оригинал кода был взят год назад с форума dklab

оригинал http://habrahabr.ru/blogs/webdev/7424/

о! моя

о! моя заметочка ))

хорошая подборка статей по XDebug.
желаю развития этому сайту :)