Как вы можете использовать php xdebug, если вы находитесь в NAT за брандмауэром?


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

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

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

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

Author: sorin, 2010-09-25

2 answers

Решение, которое я нашел, состояло в том, чтобы использовать Замазку для пересылки порта 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.

 11
Author: sorin, 2016-02-03 11:20:29

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

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

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

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

Все остальное такое же, как и в методе замазки (см. Ответ сорина ).

 3
Author: OZ_, 2016-02-03 11:22:39