УрокНастройка отладчика xDebug между IDE PhpStorm и сервером Open Server
Начну с небольшого вступления. использую в качестве IDE т.к. считаю её лучшим продуктом для разработки, который включает в себя огромное количество плюшек. - сервер, с которым я познакомился совсем недавно, однако он полностью меня покорил своей скоростью работы и лёгкостью управления.
Без отладки кода в пошаговом режиме жить довольно сложно, даже или () не могут мне это заменить. Сегодня я столкнулся с острой необходимостью настроить дебагер под Open Server, и наткнулся на несколько подводных камней, которые не столь очевидны, как хотелось бы. Итак, ближе к телу.
Настраиваем Open Server
Первое. В описании Open Server сказано, что xDebug настроен на сервере только для PHP 5.3, поэтому останавливаем сервер, открываем в трее Open Server -> Настройки -> Вкладка "Модули" и меняем версию PHP на 5.3.
Второе. Лезем в Open Server -> Инструменты -> Конфигурация -> PHP 5.3.9. По сути, вам просто надо найти параметр xdebug.remote_enable и установить его значение в 1, убрав точку с запятой в начале названия:
xdebug.remote_enable = 1Настраиваем PhpStorm
Теперь открываем PhpStorm и открываем папку с нашим проектом. После чего идём копаться в его настройках (Ctrl + Alt + S). Находим вкладку PHP, нажимаем, потом кликаем на Servers. В появившемся окне справа нажимаем на + (добавляем новый сервер):
После этого в поле Name вводим любое имя (например, OpenServer). В поле Host вводим название сайта на локальном сервере. Т.е. то имя сайта, по которому вы заходите на локальный сайт, когда OpenServer включен. У меня один из сайтов носит короткое название pg (даже без доменной зоны), поэтому я его и указал.
Теперь важное: во-первых, нажмите галочку Use path mapping. Во-вторых, в колонке под Path on server вы должны указать путь к файловой директории вашего сайта, относительно веб сервера. Т.е. если OpenServer стоит на диске W, а сайт назвается pg, то путь будет как на скриншоте:
W:\html\pg\www\
Если же диск или имя сайта другие - просто достаточно поменять значения на свои.
После добавления сервера сохраняем настройки путём нехитрого нажатия на кнопку ОК. Далее на панели PhpStorm'a нажимаем на кнопку добавления конфигурации для дебагера:
Далее выбираем Edit Configuration. В появившемся окне снова нажимаем на плюсик и выбираем PHP Web Application:
Теперь вводим имя для нашей конфигурации (например, openserver). После чего в качестве сервера выбираем созданный нами ранее OpenServer, и браузер, в котором будет открываться сайт (у меня это Firefox) и сохраняем конфигурацию:
Далее открываем код, напротив строки, с которой хотите начать отладку, ставите BreakPoint простым кликом на полях. После чего нажимаете на кнопку Debug (Shift + F9):
Вот и всё, дебаг настроен:
Строка кода, на которой находится дебагер, выделена синим цветом. Снизу расположены переменные, доступные на тот момент, когда дебагер находится на определённой строке. Чтобы сделать следующий шаг дебагером нажимайте F8, чтобы продолжить выполнение кода без дебагера - жмите F9. Полный мануал по работе с отладчиком в PhpStorm вы можете почитать .
Приятной отладки!
- SplasH
- 14.02.2012
- 2370







Комментарии
Спасибо, но PhpStorm коммерческий, его нельзя использовать на рабочем месте. Есть варианты?
NetBeans — хорошая IDE для PHP. Бесплатная, кросс-платформенная. Обязательно попробуйте, если до этого не пробовали.
Щикарно ))
13 числа задумал потестировать сборки.
Прошелся по самым известным , всякие wamp`ы , xampp`ы , денверы.
На хабре наткнулся на свежую февральскую статью об Open server.
Пошел сразу туда , поставил на закачку и решил пробежаться по форуму .
Зашел в "Полезые советы" > "" и был приятно удивлен ссылке на знакомый блог )), да еще и со статьей которую ждал 2 месяца).
Кстати , в моем случае одной строки xdebug.remote_enable = 1 для настройки было мало. Пришлось еще в мануал глянуть.
Мне бы интересно было взглянуть на отладку конкретного примера , в качестве испытуемого можно взять тему из ядра . В формате видео было бы вообще здорово . Можно даже особо не комментировать.
Это все конечно , если будет свободная минутка , а от работы отвлекать не хочу , сам очень занят , понимаю).
Кстати , чуть не забыл , пару дней назад наткнулся на довольно свежее по теме .
Там используется связь с браузером .
Снова с великой благодарностью!
Только вот:
Warning: file_put_contents(temporary://filF433.tmp) [function.file-put-contents]: failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed в функции file_unmanaged_save_data() (строка 1904 в файле W:\html\MySite\www\includes\file.inc).
Невозможно создать файл.
Warning: file_put_contents(temporary://filF453.tmp) [function.file-put-contents]: failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed в функции file_unmanaged_save_data() (строка 1904 в файле W:\html\MySite\www\includes\file.inc).
Невозможно создать файл.
Не подскажите, в чем дело?
Настрой папку для временного хранения файлов в друпале
Это ясно , интересно почему так случилось .
Вы уж не серчайте на дилетанта, плиз:Настрой папку для временного хранения файлов в друпале
Я не совсем понимаю (
На сервере всё в норме, на Денвере - тоже. Такое ощущение, что это в php.ini надо корректировать. Надо только знать, что именно, пардон.
Гугл мне пока не помог. Может я не тот вопрос задаю? ;)
Заранее благодарен.
p.s. А вообще Open Server меня очаровал своей легкостью и "шустростью". Показалось, что даже винт не так напрягается :)
Протупил, согласен! :)
Евгений, надеюсь, ты грехи отпускаешь... Каюсь! :)
Друпалил ли ты на ночь, сын мой?
Тем, кто пользуется NetBeans: почему-то при отладке не срабатывают точки останова. :( Просто выполняется весь код. Может известны причины?
Вроде всё по инструкциям настраивал... Если есть мысли, поделитесь, пожалуйста.
Друг, спасибо за статью.
Комментировать