Как вы можете использовать php xdebug, если вы находитесь в NAT за брандмауэром?
У меня есть следующий вариант использования для отладки PHP-приложения:
- У разработчика действительно есть частный IP-адрес
- Разработчик может подключаться только к ограниченному числу портов с сервера, таких как 80, 8080, 3128, другие ограничены исходящим брандмауэром. Тем не менее, если исходящие запросы являются HTTP, он может использовать прокси-сервер, у которого нет этого ограничения.
- серверная машина полностью настраивается
Можно ли использовать xdebug в этом обстоятельства? Как?
Можно установить VPN, но это не простое решение, поэтому я бы предпочел упрощенное.
2 answers
Решение, которое я нашел, состояло в том, чтобы использовать Замазку для пересылки порта 9000
с сервера на клиент (IDE).
Просто настройте Xdebug для подключения к localhost
вместо IP-адреса, на котором работает ваш клиент (IDE):
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_connect_back = 0
Есть хорошая статья под названием Удаленная отладка PHP с брандмауэром на пути описание этого, а также конфигурации Xdebug и метода переадресации портов SSH.
Другой вариант - использовать перенаправление портов SSH (может использоваться также в Cygwin).
Просто выполните:
ssh -R 9000:127.0.0.1:9000 host.example.com
Он создает туннель, который перенаправляет порт 9000
на удаленном хосте в порт 9000
на локальном хосте.
Все остальное такое же, как и в методе замазки (см. Ответ сорина ).