Работа Xdebug на одном сервере

Как работать команде, когда есть один сервер и несколько разработчиков работающих над одним проектом на одном сервере. Xdebug позволяет указать только один IP-адрес для подключения к xdebug.remote_host при выполнении удаленной отладки .
Он не подключиться автоматически к IP-адресу, на котором работает браузер с запросом PHP скрипта из-за соображений безопасности. Не было бы проблем, если бы все разработчики работали над другим проектом, потому что настройки xdebug.remote_host могут быть сделаны для каждого каталога (Функциональность сервера Apache htaccess). Тем не менее, в случае, когда несколько разработчиков работают на том же коде .htaccess trick не будет работать как каталог, в котором код то же самый.

xdebug

Теперь, для того, чтобы решить вышеупомянутые проблемы, вам нужно будет запустить прокси “DBGp” это протокол, разработанный ActiveState для облегчения связи между IDE (например, Комодо , или любой из других перечисленных клиентами ) и PHP + Xdebug. “DBGp” программное обеспечение, которое выступает в качестве редиректа для потоков “DBGp”. Для того, чтобы это все работало для нескольких разработчиков в одной базе, вы устанавливаете настройки xdebug.remote_host на машине, на которой работает прокси “DBGp”. Скорее всего, это будет на той же машине, которая действует как сервер разработки, так что параметр xdebug.remote_host должен быть установлен «127.0.0.1» (т.е. локальный компьютер). Прокси-сервер прослушивает соединения IDE. IDE должна быть зарегистрирована с прокси “DBGp” с помощью команды proxyinit . Эта команда требует idekey , то есть уникальный идентификатор для каждого клиента (IDE).

Каждый разработчик должен иметь свой ​​собственный уникальный idekey (я обычно просто выбираю свое имя), и это имя idekey настраивается в IDE. Для « Комодо », это в Edit->Preferences->Debugger->Connection-> «I am running a debugger proxy and Komodo should use it»->»Proxy Key» . В Комодо вы также должны выбрать a system-provided free port на той же панели конфигурации. При запуске сеанса отладки из браузера или с XDEBUG_SESSION_START=session_name as GET/POST/COOKIE параметр или экспорт XDEBUG_CONFIG="idekey=session_name" от строки комментариев, убедитесь в session_name , idekey настройки как в вашей IDE . (См. документацию о том, как реализовать эту возможность).

У “Xdebug” есть расширение для Firefox и также есть настройки для этого. Вы должны настроить “Xdebug” в xdebug.remote_host , настроить IP-адрес машины, которая работает на прокси. “Xdebug” не видит разницы между прокси-сервер и IDE. Но сам прокси теперь знает, из-за настроек idekey о том, как направить запросы и ответы клиенту.

Вы можете найти “DBGp” код прокси как часть python удаленной отладки пакета ActiveState. По умолчанию он вызывает регистрации IDE на порт 9001, а для “Xdebug” соединения на порт 9000. Чтобы запустить прокси, сделайте следующее:



tar -xvzf Komodo-PythonRemoteDebugging-5.1.3-28369-linux-x86_64.tar.gz
cd Komodo-PythonRemoteDebugging-5.1.3-28369-linux-x86_64
cd bin
./pydbgpproxy


Это выходы:



INFO: dbgp.proxy: starting proxy listeners.  appid: 30430
INFO: dbgp.proxy:     dbgp listener on 127.0.0.1:9000
INFO: dbgp.proxy:     IDE listener on  127.0.0.1:9001


Запуск “DBGp” прокси также позволяет избежать проблемы с NAT , где (как видно из PHP + Xdebug на сервере) все соединения, прибывают из того же IP (потому что ваша внутренняя сеть NATted). В этом случае вы можете просто запустить dbgp прокси на вашей машине NAT , настроить xdebug.remote_host , настройка IP-адрес вашего компьютера NAT , и настроить интегрированные среды разработки для подключения к прокси, работает на <NAT-machine>: 9001 .

Последнее замечание, есть патч, чтобы подключиться к запрашивающему IP-адресу, который не доступны непосредственно в “Xdebug”. Этот патч, написанный Брайаном Шир и Лукас Nealan из Facebook сделал свой патч в Xdebug 2.1 . Тем не менее, большое внимание должно быть к этой функции. Это не делает проблемы с NAT , как описано выше.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML -теги и атрибуты: <a href= http://pixelcom.crimea.ua/"" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>