Рейтинг: 4 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна
 

Ниже приведен пример настройки отладчика XDebug скриптов php для PhpStorm. Почему я выбрал именно PhpStorm - потому, что она самая удобная на мой взгляд.

Установка и настройка XDebug

Итак, начнем. Для начала, нам потребуется установить отладчик и сам php:

Я использую php 5.5, если его нет у вас в репозитории, то можно добавить репозиторий с php 5.5 или оставить свою версию:

sudo add-apt-repository ppa:ondrej/php5

 

Установка:

sudo apt-get install php5-xdebug

Ищем, куда установилась библиотека:

 

find / -name 'xdebug.so' 2> /dev/null

Ждем.... ждем.... и получаем что-то вроде /usr/lib/php5/20100525/xdebug.so

Далее нужно добавить следующие строки в  файл /etc/php5/apache2/php.ini, заменив путь к библиотеке xdebug на свой. Открываем файл и добавляем в него строки: 

;Подключаем библиотеку:
zend_extension = "/usr/lib/php5/20100525/xdebug.so"
;Настройки XDebug
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=localhost
;Интеграция с IDE
xdebug.idekey=PHP_STORM

Перезапускаем Apache:

sudo service apache2 restart или /etc/init.d/apache2 restart 

Настройка самой PhpStorm

Запускаем PhpStorm, далее открываем папку с проектом или создаем новый. Затем идем в File->Settings (Alt+Ctrl+S) и переходим на вкладку PHP->Servers, добавляем новый сервер: Name: "localhost", Host: "localhost", Debugger: "Xdebug". На всякий случай проверим порт отладчика на вкладке PHP->Debug, он должен совпадать с тем, что мы задали в php.ini: Debug port: 9000. Сохраняемся нажатием "Ок" и закрываем окно настроек.

Следующий шаг - это настройка проекта. Идем в меню Run->Edit Configurations.. и добавляем новую настройку нажатием на плюсик,  выбираем PHP Web Application. Name: "Пишем название нашего проекта", Server: выбираем ранее созданный "localhost", Start URL: "/имя проекта" и нажимаем "OK"
Ну вот и все, теперь мы можем отлаживать свой проект, устанавливая брейкпоинты в исходниках. :)

Теперь давайте настроим нашу IDE для синхронизации  локальных файлов с удаленным HTTP сервером через FTP. Приступим.

Идем в Tools->Deployment-Configuration, жмем плюсик и добавляем сервер: Name: "Имя сервера", Type: "FTP". На вкладке Connection заполняем нужные поля: FTP host: здесь все понятно, Root path: "путь к файлам проекта на удаленном сервере". Переходим на вкладку Mappings. Local path: "/путь к локальным файлам проекта". На последней вкладке "Excluded Paths" можно указать файлы и папки, которые будут исключены из синхронизации проекта. Жмем "OK", закрываем окошко и снова переходим в меню Tools->Deployment->Browse Remote Host для отображения и синхронизации файлов проекта с удаленным сервером.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

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

Комментарии   

Юрий
# Юрий 03.06.2016 12:36
Спасибо за статью, жду продолжения о том как использовать Xdebug
Записки энергетика
# Записки энергетика 28.01.2015 18:14
т.к форма автора не принимает большой текст хочу добавить в новом комментарии, что лично я делал так:
* нажал "Начать прослушку" (правый верхний угол, значек телефонной трубки)
* поставил брекпоинт на нужной строке
* нажал на жука (после чего сайт открылся в браузере)
* потом идешь в нужное место (что бы задействовать нужный контроллер/код)
* наблюдаем за данными в PHPStorm

Еще раз спасибо автору!

Linux Mint / php5.5 / phpStorm 8.1
WhiskeyMan
# WhiskeyMan 12.03.2015 22:29
Спасибо за отзыв. Эти статьи - это скорее заметки для себя лично. Я планировал ее дополнить, просто сейчас времени совсем нет. А о том как пользоваться xdebug - может быть напишу отдельную статью. И прошу прощения за долгий ответ, руки не доходили даже прочитать комментарий.
Записки энергетика
# Записки энергетика 28.01.2015 18:12
Привет всем!
Давно хотел научиться пользоваться этим но все как то не находил времени и хорошей инструкции для новичков!
Настроил почти с первого раза, и с позволения автора опишу чего мне не хватило в статье.

До конфигурации php.ini все также, только я указал
xdebug.remote_port=8000
xdebug.remote_host=127.0.0.1
(т.к. мой сайт на локальном сервере открывался по адресу 127.0.0.1:8000/.../secure)

потом Start URL: /app_dev.php/secure/

работу с удаленным HTTP сервером - не настраивал.

ну и в принципе все если вы ранее работали с xdebug, а если также как и я в первые то было бы не плохо в статью добавить небольшое описание как работать.