Pull to refresh

Настройка отладчика в Nusphere PhpEd для удаленной отладки веб-сервисов

Reading time3 min
Views13K
В Nusphere PhpEd есть отладчик для php-скриптов, который позволяет отлаживать и профилировать веб-сервисы любой сложности и с любой структурой на удаленном сервере. Единственный требования для его нормальной работы — это открытый порт на компьютере, с которого происходит отладка, и подключение модуля отладчика, который идет в поставке с PhpEd, к php.



После выпуска Веборамы 2.0 мы наконец-то сделали фича-фриз и пришла пора серьезно заняться рефакторингом. Для этого было бы неплохо использовать дебаггер. Лично я очень завидую, тем кто пользуется отладчиком в работе на постоянной основе. У нас с самого начала его внедрить не получилось и как-то это дело забросили. Но сейчас, ввиду сложности взаимоотношений различных модулей проекта, мы стали терять очень много времени, используя «классические» методы отладки (var_dump, print).

Вот так опять вспомнился встроенный в PhpEd отладчик. Но так как наше производство находится в разных местах, на сервер разработки мы ходим удаленно. Поэтому нам предстояло поднять его по самому сложному сценарию, который и изложен ниже:

Далее идет текст нашего технолога (с моими правками, чтобы сделать его более или менее абстрактным), который писал статью в корпоративную Вики (В случае успеха, автор не получит инвайт на хабр, так как у него уже есть учетная запись andrushkaaaa :) ):

На примере PhpEd 5.6 и гипотетчиской dev.weborama.ru (все папки и проекты могут называться как угодно, во избежание паранойи я не пишу каждый раз, что «эту папку можно поместить куда угодно» или «здесь можно выбрать любое название»)

1. Для начала займемся сервером. Скопируйте из установки PhpEd/подпапка debugger нужную версию отладчика на сервер.

2. откройте файл php.ini и пропишите в нем следующее:

zend_extension = /path/to/debbugger_extension/dbg-php-5.2.so

[debugger]
debugger.enabled=on
debugger.profiler_enabled=on #если вы хотите использовать профайлер
debugger.hosts_allow=ваш IP-адрес
debugger.hosts_deny=ALL
debugger.ports=7869 10000/16


3. перезапустите веб-сервер, fast-cgi демон, бекенд или что там у вас.

4. Теперь клиент. По адресу C:\Documents and Settings\{имя компьютера}\Application ata\NuSphere\PhpED\ создать папку myWorkspace

5. Внутри myWorkspace создать папку projects, внутри нее – папку dev.weborama.ru, в которой будут храниться файлы проекта.

6. Скачать или положить туда весь проект.

7. Открыть PhpEd

8. В PhpEd выбрать New project.

9. Переключиться в режим Wizard, если это не произошло автоматически.

10. Выбрать пункт «Веб-сервер находится на удаленной машине».



11. Указать в качестве корня проекта C:\Documents and Settings\{имя компьютера}\Application Data\NuSphere\PhpED\myWorkspace\dev.weborama.ru



12. Нажать на кнопку Accounts



13. Настроить FTP учетную запись для dev.weborama.ru



14. Выбрать ее как Publishing account.



Это позволит вам синхронизировать ваш локальный код с тем, что на сервере.

15. На следующем шаге скачайте dbg-wizard.php по указанной ссылке и положите его в корень проекта на FTP сами. Избавите себя от головной боли. Потом укажите ссылку к нему.



Далее нажимайте «Next» пока не дойдете до финиша. Я с вами пройти не могу, так как проект гипотетический. Если будут проблемы, то пишите в комментарии — разберемся.

После этого всего вы можете считать ваш проект готовым к отладке.

16. Если вы за файерволом, то убедитесь что порт 7869 (по умолчанию) торчит наружу и принимает соединения. Также, если вы хотите большей безопасности и у вас статический IP, то приготовьте его, он понадобится нам в настройках для серверной части отладчика.

17. теперь открывайте в PhpEd любой php-файл проекта и нажимайте F9 или Run in debugger в панельке отладки. Если все сделано верно, то у вас начнется сессия отладки.

Спасибо за внимание.

P.S.: Если интересно, то в следующий раз я напишу как подружить проект PhpEd с Subversion и настроить дебаггер на несколько разработчиков.
Tags:
Hubs:
Total votes 24: ↑17 and ↓7+10
Comments7

Articles

Information

Website
www.weborama.ru
Registered
Founded
Employees
Unknown
Location
Россия