Господа, я сегодня с семи утра конфигурирую отладку в PHPstorm (при помощи XDebug) и уже слегка утомился. И название "Zero-configuration Web Application Debugging with Xdebug and PhpStorm" звучит уже очень иронично. Я натыкаюсь на какую то стену, и не могу продвинуться дальше. Смотрите. я хочу отлаживаться на удаленном сервере (локальный адрес - 192.168.10.48, там установлены Ubuntu 16.04, PHP 7.0, WordPress) а я сижу за компом с десятой виндой и коннекчусь по SSH. Я прочитал описание https://confluence.jetbrains.com/di...pplication+Debugging+with+Xdebug+and+PhpStorm и вот такую статью: https://m.habr.com/post/209024/ Потом я по этому описанию настроил - и всё выглядело логично, чёрт побери. Всякие вадидейшены в настройках remote server - проходят. Но отладка не идёт, появляется сообщение: "Waiting for incoming connections with ide key 'PHPSTORM'": Вот отрывок из PHPinfo: Вот основные настройки (3 картинки, я убрал их под спойлер): Спойлер: конфигурация Раздел DBGproxy я не настраивал, потому что не понимаю что это такое и зачем оно нужно. Вот файл конфигурации /etc/php/7.0/apache2/conf.d/20-xdebug.ini: zend_extension=xdebug.so xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.show_error_trace=1 xdebug.remote_handler="dbgp" xdebug.remote_host=192.168.10.53 xdebug.idekey="PHPSTORM" xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_connect_back=1 В результате при запуске дебага на файле (когда нажимаю "зеленого жука" и устанавлдливаю точки останова) я получаю в одном из окошек сообщение "Waiting for incoming connections with ide key 'PHPSTORM'" При этом порт 9000 открыт, на линуксовом файерволе никаких запретов нет. И телнетом я коннекчусь нормально с линукса на виндовс. я читаю описание протокола отладки https://xdebug.org/docs-dbgp.php#just-in-time-debugging-and-debugger-proxies и пока не могу понять, в какую сторону копать дальше. Помогите советом, я уверен, что я сделал правильно 80% настройки и чегото не понимаю в оставшихся 20%. Спасибо заранее.
Спапсибо, парни, но я уже разобрался. Модераторы у вас... очень осторожные, наверное. Мне помог человек из JetBrains, Eugene Morozov. Его совет сотоял в том, что "На самом деле, почти все настройки находятся на стороне Xdebug, в PhpStorm вам нужно настроить только маппинги когда коннекшн уже пришёл." Сейчас я значительно продвинулся, у меня есть построчная отладка, и я могу расставить точки останова на серверной стороне, а потом запустить код в браузере - и попасть в одну из этих точек останова. Могу привести свою конфигурацию файла /etc/php/7.0/apache2/conf.d/20-xdebug.ini: zend_extension=/usr/lib/php/20151012/xdebug.so xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.show_error_trace=1 xdebug.remote_handler="dbgp" xdebug.remote_host=192.168.10.53 xdebug.idekey="PHPSTORM" xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_connect_back=1 xdebug.trace_format = 1 xdebug.trace_output_dir = /var/www/xdebug/log xdebug.extended_info = 1 xdebug.remote_autostart = 1 xdebug.remote_log = /var/www/xdebug/log/access.log А еще - мне помогла статья https://habr.com/sandbox/20485/
Я так рад за вас. А вы не поможете и мне настроить, а то у меня тоже дым из ушей валит и не могу разобраться. На локальном хостинге работает, а вот с удаленкой проблемы.
@serii366, так он же конфиг привёл @Konst3, только remote_autostart замедляет работу скриптов на сервере. Без него тоже можно отлаживать, всего лишь нужно для начала отладки добавить ?XDEBUG_SESSION_START=PHPSTORM в адресную строку. --- Добавлено --- Тут главное, в принципе, туннелирование настроить. Каким SSH-клиентом пользуетесь?
Привет всем. я прошу прощения, с тех пор прошел почти год, как я этой темой не занимался. Думаю, что сейчас могу помочь только общими советами. 0) обычно полезно сконфигурировать сервер для отладки с нуля. При этом как то думаешь головой, что и как ставить, и иногда проблема решается в процессе. 1) Надо проверить, как просиходит авторизация на сервере, на котором Вы пытаетесь настроить отладку: некоторые хостинги поддерживают для внешних коннектов только авторизацию по ключам. 2) для полноты картины - напишите, с кикими OS вы работаете на дектопе и на сервере (мне всегда приходится работатьс комбинацией винды на десктопе и убунты на сервере, что создает дополнительный слой несовместимости. К счастью, JetBrains-овские продукты прекрасно поддерживают и то, и другое) Если это чему то поможет - я могу попробовать разыскать образ виртуалки, на которой у меня был настроен дебаг. Тогда напишите отдельно. Веротяность найти - 50 на 50, как обычно --- Добавлено --- ... в продолжение "советов постороннего": нарисуйте (или представьте в деталях) схему сетевого взаимодействия при отладке: среда разработки должна обратиться к внешнему серверу, на котором запускается скрипт, а при этом от этого сервера XDebug инициирует соединение снаружи со средой разработки на десктопе. На десктоп-винде есть два врага разработчика: антивирусы и файерволы. И то, и другое будет молча и активно сопротивляться попыткам XDebug'а снаружи приконнектиться к воркстейшн. Вырубите, а лучше - снесите с рабочей машины и антивирус, и файервол.