Налаштування xdebug для віддаленої налагодження, ракчеев

Постійні проблеми з налагодженням на віддаленому сервері у знайомих і друзів підштовхнули мене написати детальний пост про настройку Xdebug і IDE для налагодження remote веб-сервера.

Передбачається, що Linux + Apache + php установленjо і працює коректно.

Розглядається на прикладі Ubuntu, але це легко перенести на будь-яку систему * nix.

$ Sudo apt - get install php5 - xdebug

Після установки перевірте, що розширення довантажити через висновок функції phpinfo ():

phpinfo () в тестовому скрипте


Налаштування xdebug для віддаленої налагодження, ракчеев

або з командного рядка

$ Php - i | grep xdebug

/ Etc / php5 / cli / conf .d / 20 - xdebug .ini

xdebug support => enabled

xdebug .auto_trace => Off => Off

xdebug .cli_color => 0 => 0

xdebug .collect_assignments => Off => Off

xdebug .collect_includes => On => On

Якщо в командному рядку xdebug присутній, а в phpinfo немає, мабуть конфігурація apache не оновлювалася. Перезапустіть веб-сервер або вкажіть перечитати конфігурацію.

Якщо його немає і в виведенні php -i командного рядка - вкажіть php вручну звідки завантажувати розширення.

Для налаштування Xdebug необхідно встановити деякі параметри, що відповідають за вилучену налагодження у файлі-конфігурації xdebug.

Можна встановити ці параметри прямо в php.ini, але краще використовувати для цього спеціальну конфігурацію (xdebug.ini).

Веб-сервер (apache)

Настроєм xdebug для веб-сервера.

У моїй версії Ubuntu 14.04 файл конфігурації ліг /etc/php5/mods-available/20-xdebug.ini

і перевіряємо що наші параметри змінилися в phpinfo ().

IDE (phpStorm 7)

Перейдемо до налаштування вашої улюбленої IDE.

  1. Перевіряємо, що порт налагодження відповідає тому, що ми прописали вище (9000):
    phpStorm -> File -> Settings -> [Project Settings] -> PHP -> Debug
    Налаштування xdebug для віддаленої налагодження, ракчеев
  2. Створюємо конфігурацію налагодження:
    Debug -> Edit Configurations -> Create Web Application configuration

    Налаштування xdebug для віддаленої налагодження, ракчеев
  3. Налаштовуємо створену конфігурацію (одиночний екземпляр відладчика, браузер для відправки HTTP запиту з сесією Xdebug, сервер і маппинг шляхів до файлів):
    Налаштування xdebug для віддаленої налагодження, ракчеев

Якщо все було зроблено правильно, то можна встановити точку зупинки, в файлі, який в будь-якому випадку буде виконуватися сервером, наприклад в index.php.

І запускаємо налагодження.

Налаштування xdebug для віддаленої налагодження, ракчеев