Тип Поста

PhpStorm – как подключить интерпретатор PHP и отладчик Xdebug

PhpStorm – как подключить интерпретатор PHP и отладчик Xdebug

На данный момент, PhpStorm – одна из лучших IDE для разработки на языке PHP, которая предоставляет множество возможностей для разработчика, такие как запуск PHP-скриптов, благодаря возможности подключения внешнего интерпретатора PHP и отладку через расширение Xdebug.

В этой статье мы рассмотрим возможность подключения интерпретатора PHP, отладчика Xdebug к PhpStorm и использование встроенного в IDE web-сервера.

Начнем с установки отладчика Xdebug в PHP.

Установка Xdebug

Первым делом скачаем и установим сам интерпретатор PHP по ссылке: http://php.net/downloads.php

Далее нужно произвести начальную настройку PHP и прописать в переменную окружения PATH путь к интерпретатору. Чтобы не повторяться, весь необходимый порядок действий мной описан в этой статье: Установка Composer и снятие ограничения количества обращений к GitHub

Теперь можно перейти к установке отладчика Xdebug, для которого существует специальный помощник, значительно упрощающий процедуру установки. Для его использования перейдем по ссылке: https://xdebug.org/wizard.php

На этой странице, необходимо ввести в поле ввода информацию об установленном PHP-интерпретаторе, которая генерируется с помощью PHP-функции phpinfo(). Вводить нужно весь скопированный текст со страницы.

Или, введя в консоль команду php -i, которая генерирует информацию о PHP.

Копируем полученную информацию, нажимаем кнопку Analyse my phpinfo() output и получаем инструкцию по установке Xdebug.

В зависимости от вашей версии PHP и пути установки инструкция может отличаться от моей:

  • Скачиваем библиотеку Xdebug для PHP версии 5.6.19 по ссылке: php_xdebug-2.4.0-5.6-vc11-nts.dll
  • Перемещаем её в папку C:\php\ext
  • В файл C:\php\php.ini находим секцию Dynamic Extensions и добавляем следующую строку:
    zend_extension = C:\php\ext\php_xdebug-2.4.0-5.6-vc11-nts.dll

Подключение интерпретатора PHP к PhpStorm

Теперь перейдем в PhpStorm и откроем настройки комбинацией клавиш Ctrl+Alt+S.

Далее, в секции Languages & Frameworks выберем пункт PHP. В этой секции необходимо назначить интерпретатор для IDE в пункте Interpreter нажав на кнопку

phpstorm-xdebug-1

В открывшемся окне, в поле Name вводим любое имя для удобства дальнейшей идентификации, например: PHP 5.6.11.

В поле PHP executable указываем путь до интерпретатора, например: C:\php\php.exe. Обратите внимание на появившуюся версию PHP и дебагера, что свидетельствует о правильности установки.

phpstorm-xdebug-2

Чтобы убедиться в том, что правильно отрабатывает подключенный интерпретатор PHP, создадим в PhpStorm новый проект, добавим к нему файл index.php и запишем в этот файл, например, функцию var_dump([ 1, 2, 3 ]) с переданным в неё массивом.

Нажав правой кнопкой мыши на этом файле, выберем Open in Browser -> Default.

На странице мы видим характерный вывод var_dump(), который генерируется с помощью Xdebug. И, если посмотреть на заголовки ответа через консоль разработчика, то мы увидим, что всё работает верно:

server:PhpStorm 2016.1
X-Powered-By:PHP/5.6.19
phpstorm-xdebug-3

Начальная настройка Xdebug и установка его под линукс описана в статье Установка модуля Xdebug для PHP под Ubuntu Linux

Работа с отладчиком Xdebug в PhpStorm

Прежде чем приступит к отладке PHP-скриптов с помощью Xdebug произведем необходимую настройку в файле php.ini. В секции Dynamic Extensions после подключения расширения Xdebug добавим следующие настройки:

xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.profiler_output_dir="c:\php\tmp"

Теперь зайдем в PhpStorm и откроем настройки. Перейдем в Languages & Frameworks -> PHP -> Debug. В секции Xdebug убедимся, что установлены следующие настройки:

Debug port: 9000
Установлен флажок Can accept external connections
phpstorm-xdebug-4

Чтобы проверить, что все действия были проведены верно, добавим в уже имеющийся в проекте файл index.php следующий код:

<?php
$arr = [ 1, 2, 3 ];
var_dump( $arr );

И поставим точку остановки на переменной $arr.

Теперь запустим отладку этого скрипта, нажав правую кнопку мыши и выбрав пункт Debug ‘index.php’. Если все было сделано правильно, то в PhpStorm появится вывод дебага, как показано на скриншоте.

phpstorm-xdebug-5

В итоге, мы получили мощный и удобный инструмент для отладки PHP-скриптов с подключенным интерпретатором PHP, а также возможность запускать скрипты через встроенный в PhpStorm локальный web-сервер.

Поделиться

15 комментариев

Kapл У кого-то была ошибка "502 bad gateway"? Как ее решить?
Kap Здравствуйте! При компиляции php-файла в браузере возникает ошибка "502 bad gateway". Подскажите что нибудь, не могу решить проблему уже несколько дней.
Алексей сам Xdebug настроен и работает, но я не могу понять почему phpStorm не ставит break point на коде -javascript, если файл с расширением .php . Это такая специфика - проверять только тот код, который соответствует типу файла?
Alex Не могу найти версию Xdebug для PHP 5.6.30. Помогите пожалуйста
Сергей Богданов Вы можете скачать xdebug под любую нужную вам версию php, в т.ч. и под 5.6, на офф. сайте: https://xdebug.org/download.php. Там же можно найти помощник по установке: https://xdebug.org/wizard.php.
Alex Что делать если у меня нет файла "php.ini"? Есть такие: "php.ini-development" и "php.ini-production"?
Alex С "php.ini" проблема решилась) Не могу разобраться с этим: https://pp.userapi.com/c638424/v638424501/26d7f/KH6CBvtxuKU.jpg Буду признателен за ответ.
Антон Дебагер выводит только 2-е переменные $_ENV и $_SERVER. Где я мог оплашать по Вашему мнению?
Антон ага, точка на var_dump ;

Оставить комментарий

Вы можете использовать следующие HTML-теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Обязательно к заполнению