Как стать автором
Обновить

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

Время на прочтение 2 мин
Количество просмотров 16K
Первая часть

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

Пример настройки:
#Изменить пути к логу на свои (+создать директорию для лога)
<IfModule mod_php4.c>
#путь к логу 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
</IfModule>


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



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

Теги:
Хабы:
+4
Комментарии 24
Комментарии Комментарии 24

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн