1

Я пытаюсь настроить удаленную отладку для PHP с использованием Xdebug и PhpStorm. Моя локальная машина разработки имеет Windows 7, а удаленная машина имеет CentOS 6.

Я следую этому руководству безрезультатно:

https://confluence.jetbrains.com/display/PhpStorm/Remote+debugging+in+PhpStorm+via+SSH+tunnel#RemotedebugginginPhpStormviaSSHtunnel-1.XdebugorZendDebuggerinstalledandconfigured

Я могу подключиться к SSH просто отлично, и мои настройки туннеля такие же, как в руководстве:

Когда я пытаюсь подключиться к серверу через браузер (с соответствующими файлами cookie), я получаю следующую ошибку в журналах Xdebug:

# tail /tmp/xdebug.log
Log opened at 2016-05-25 09:53:36
I: Connecting to configured address/port: 127.0.0.1:9000.
E: Could not connect to client. :-(
Log closed at 2016-05-25 09:53:36

Log opened at 2016-05-25 09:55:36
I: Connecting to configured address/port: 127.0.0.1:9000.
E: Could not connect to client. :-(
Log closed at 2016-05-25 09:55:36

Вот мой /etc/php.d/xdebug.ini:

; Enable xdebug extension module
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log="/tmp/xdebug.log"

Xdebug указан в phpinfo() и успешно записывает ошибки в журнал, поэтому я не думаю, что проблема в конфигурации Xdebug. PhpStorm прослушивает соединения, и я могу без проблем отлаживать сайты на своих локальных машинах, но удаленная отладка не работает.

Кажется, что PuTTy не может установить туннель SSH.

Вот список открытых портов на сервере:

# netstat --listening -n
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 :::80                       :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 ::1:25                      :::*                        LISTEN
udp        0      0 0.0.0.0:68                  0.0.0.0:*

Насколько я понимаю, должно быть что-то, слушающее на порту 9000 . Иначе, как еще PuTTy будет пересылать данные с сервера на мою локальную машину? Любые идеи о том, как это исправить и установить правильную связь? Может быть, это связано с настройками selinux или SSH?

0