Пошаговое руководство по настройке PHPStorm + XDebug - PullRequest
41 голосов
/ 08 февраля 2012

До недавнего времени я писал код на PHP (через Notepad ++) и отлаживал, проверяя журналы в IIS (должен любить этот установщик веб-платформы);С тех пор я решил перейти на более эффективную среду для написания и тестирования кода, и, поиграв несколько раз с PHPStorm, решил приобрести его и попробовать.С тех пор я понял, что в том, что касается учебников и пошаговых инструкций, PHPStorm подходит немного дальше.Бегло взглянув на руководство (RTFM, я знаю) и придя с желанием, я хотел бы спросить, не хочет ли кто-нибудь там помочь мне при настройке PHPStorm с помощью XDebug, чтобы я мог перестать ненавидеть себя за то, что не изучалбазовые системы достаточно хорошо, и вернемся к кодированию.

TLDR;Может ли кто-нибудь опубликовать подробное руководство по настройке PHPStorm + XDebug?Допустим, с моей стороны максимальный уровень глупости (я обычно более чем способен в мире ASP.NET, но я приближаюсь к уровню интеллекта, обычно связанному с некоторыми формами морской губки в мире PHP).

Среда - Windows 7 Ultimate (64-разрядная) с установленным IIS и PHP.

Ответы [ 5 ]

32 голосов
/ 10 декабря 2013

Я нашел более современное и более простое решение, частично основанное на посте CrasyCoder. Шаги, которые вам нужно сделать, следующие:

  1. Если ваша новая установка php не содержит php.ini, переименуйте php.ini-development в php.ini
  2. Установите xdebug с помощью мастера: http://xdebug.org/wizard.php Следуйте его рекомендациям буквально.
  3. Вставьте в свой php.ini строку: xdebug.remote_enable = 1
  4. Зайдите в настройки PhpStorm: настройки-> php. Выберите или повторно выберите каталог, содержащий php. Убедитесь, что вы видите строку «Отладчик: Xdebug x.x.x» (где x.x.x обозначает установленную версию)
  5. Установите расширение для вашего любимого браузера отсюда: http://xdebug.org/docs/remote
  6. В главном меню (не в окне настроек) перейдите в «Выполнить-> Редактировать конфигурации» и добавьте новую конфигурацию «Встроенный веб-сервер PHP». Укажите «Корень документа» на каталог вашего проекта. Обратите внимание на номер порта.
  7. Браузер Chrome: включите расширение, нажав на небольшую ошибку в правой части омнибокса и выбрав опцию Отладка. Расширения других браузеров должны работать аналогично.
  8. В меню PhpStorm включите опцию «Run -> Start Listen for PHP Debug connections».
  9. Установите точку останова в своем коде в PhpStorm.
  10. Запустить (не отлаживать) конфигурацию, созданную на шаге 6.
  11. В вашем браузере перейдите к localhost: port, где 'port' - это порт с шага 6. Ваш PhpStorm должен остановиться на точке останова, и вы можете начать исправлять ошибки в вашем коде.

Учитывая, что:

Шаги 1-5 выполняются один раз для установки php.
Шаг 6 выполняется один раз для проекта PhpStorm.
Шаги 7-8 выполняются один раз за сеанс отладки.
Шаги 9-11 выполняются при каждом запуске программы.

17 голосов
/ 08 февраля 2012

Получить Xdebug с PhpStorm действительно просто, просто внимательно следуйте этому руководству . ( ПРИМЕЧАНИЕ: Обновленная версия руководства находится здесь )

Для более сложных тем Прочтите это .

9 голосов
/ 21 мая 2015

1. установить модуль xdebug (шаги установки MAC)
1.1.1. проверьте, какую версию PHP вы используете php --ini (см. загруженный файл)
1.1.2. brew search xdebug
1.1.3. заваривать установить phpXX-xdebug
1.1.4. см. детали: php -i | grep xdebug
1.2. перезагрузите сервер
1.3. конфигурация
1.3.1. sudo find /usr -name 'xdebug.so'
1.3.2. скопируйте путь, который вам нужен
example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
1.3.3. отредактируйте файл конфигурации, связанный с расширением, который должен автоматически вставляться в основной php.ini: subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
1.3.4. добавьте zend_extension, чтобы быть = путь, скопированный выше

 [xdebug]  
 zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so"

Обычный файл должен иметь что-то вроде этого:

[xdebug]
zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"


xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_autostart=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp"
xdebug.idekey=PHPSTORM

2. проверьте версию PHP
php --ini
3. установить настройки IDE
предпочтения> языки и рамки> PHP>
3.1. установите для уровня языка правильную версию PHP этого проекта
3.2. установить интерпретатор (установить родительский каталог, в который загружается каталог bin исполняемого файла PHP)
3.2.1. нажмите кнопку…> нажмите кнопку +> другой локальный> установить PHP Excitable path,
чтобы найти тип пути в терминале: $ which php
example: /usr/local/Cellar/php56/5.6.5/bin/php
4. перезапустите phpstorm
5. теперь давайте заставим это работать
5.1. запустить> изменить конфигурацию> нажать зеленую кнопку + слева> выбрать b. PHP веб-приложение
5.2. имя: что-нибудь пример ur {имя приложения - отладчик}
5.3. сервер: localhost (просмотрите> +> имя: что угодно | хост: localhost или 127.0.0.1)
5.4. нажмите ок
5.5. Начальный URL: ссылка на домашнюю страницу проекта: http://127.0.0.1:80/SomethingNew/
5.6. нажмите ок
6. Теперь установите точку останова и нажмите debug

9 голосов
/ 23 сентября 2014

У меня были некоторые проблемы, когда я впервые коснулся отладки XDebug вчера.

Несколько общих советов, вы все равно переполнены различными учебниками и руководствами.

  • Ваша конфигурация XDebug на стороне PHP / Aache:
    xdebug.remote_enable = 1
    xdebug.remote_port = 9000
    xdebug.idekey = PHPSTORM
    xdebug.remote_connect_back = 1
  • Вам нужно либо использовать remote_connect_back, как указано выше (будьте осторожны, это означает, что другие люди могут также отлаживать ваш сервер, пока он включен), или вы указываете свой IP-адрес (remote_host).
  • Вкл.На стороне клиента вам нужно, чтобы ваш маршрутизатор переадресовал порт 9000!
  • Вам необходимо разрешить PHPStorm для входящих подключений в брандмауэре (для меня он не был включен по умолчанию в Windows 8).Откройте порт 9000 или само приложение.
  • На PHPStorm обязательно перейдите в конфигурацию отладки и не используйте отладку по умолчанию (PHPUnit!). Используйте «удаленную отладку PHP» (Run / Debug Configurations -> Знак PLUS).в верхнем левом углу)
  • Вам нужно будет указать PHPStorm абсолютный путь вашего проекта на веб-сервере, если вы допустите здесь ошибку (и забудете об этом), вы все равно получите приглашение.
  • Теперь отладьте ваш проект в PHPStorm, включив функцию «Прослушивать соединения», и вставьте точку останова в свой код.
  • С помощью веб-браузера откройте файл веб-сайта / php, включив файл cookie, который запускает отладчик.(cookie - лучший подход в большинстве случаев).Вы можете использовать закладку (Google для phpstorm отладки закладок) или расширение.

Даже следуя инструкциям, я пропустил несколько из вышеперечисленных пунктов.Я надеюсь, что смогу сэкономить несколько часов борьбы:)

2 голосов
/ 03 мая 2016

Если вам не нужна удаленная отладка, вы можете легко отладить ваш проект.

Сначала проверьте настройки php.ini.

Убедитесь, что ваш xdebug dll существует и настройки включены.

xdebug.remote_enable = on
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
xdebug.show_local_vars=0

Затем перейдите в меню «Выполнить» в верхней панели навигации. Затем выберите изменить настройки и добавить новую конфигурацию (не изменяйте настройки по умолчанию для другого проекта)

phpStorm add new configuration Нажмите кнопку добавления нового элемента.

После добавления нового php веб-приложения

Если у вас нет какого-либо сервера (обычно указывает локальный хост с портом 80 на Windows или Linux), нажмите кнопку, показанную ниже.

enter image description here

Добавить новый сервер с xdebug.

enter image description here

Затем нажмите ОК и проверьте свою конфигурацию

enter image description here

Наконец, вы увидите конфигурацию справа от ide.

enter image description here

Нажмите кнопку RUN или DEBUG.

enter image description here

enter image description here

...