Как вы можете использовать php xdebug, если вы используете NAT за брандмауэром? - PullRequest
11 голосов
/ 25 сентября 2010

У меня есть следующий вариант использования для отладки приложения PHP:

  • Разработчик имеет частный IP-адрес
  • Разработчик может подключаться только к ограниченному количеству портов с сервера, например 80, 8080, 3128, другие ограничены исходящим брандмауэром. Тем не менее, если исходящие запросы являются HTTP, он может использовать прокси, который не имеет этого ограничения.
  • сервер полностью настраиваемый

Возможно ли использовать xdebug в этих обстоятельствах? Как?

Возможно установить VPN, но это не простое решение, поэтому я бы предпочел упрощенное.

Ответы [ 2 ]

12 голосов
/ 25 сентября 2010

Решением, которое я нашел, было использование PuTTY для переадресации порта 9000 с сервера на клиент (IDE).

putty configuration screenshot

Просто настройте Xdebug для подключения к localhost вместо IP-адреса, на котором работает ваш клиент (IDE):

xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_connect_back = 0

Есть хорошая статья под названием Удаленная отладка PHP с помощью брандмауэра в пути , описывающая это, а также конфигурацию Xdebug и метод переадресации портов SSH.

3 голосов
/ 22 июня 2012

Другой вариант - использовать переадресацию порта SSH (также можно использовать в Cygwin ).

Просто выполните:

ssh -R 9000:127.0.0.1:9000 host.example.com

Создает туннель, который перенаправляет порт 9000 на удаленном хосте на порт 9000 на локальном хосте.

Все остальное такое же, как в методе PuTTY (см. sorin ).

...