Я пытаюсь настроить удаленную отладку для PHP с использованием Xdebug и PhpStorm. Моя локальная машина разработки имеет Windows 7, а удаленная машина имеет CentOS 6.
Я следую этому руководству безрезультатно:
Я могу подключиться к 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?