Прописываем в нем 2 вышеупомянутые настройки:
xdebug.remote_enable = on
xdebug.remote_host = IP.ВАШЕГО.КОМПЬЮТЕРА.ВСЕТИ
Нам не нужны расширения для браузера, не нужно передавать в get-параметры URL XDEBUG_SESSION_START=IDE_KEY, не нужно добавлять дополнительные конфигурации.
Достаточно просто включить прослушку
Недостаточно. Возможно Вы просто забыли скопировать в статью, но для именно такого поведения нужно включить флаг xdebug.remote_autostart в конфигурацию PHP. Иначе xdebug расширение всё ещё будет ждать cookie XDEBUG_SESSION либо query параметр XDEBUG_SESSION_START либо, в случае с CLI, переменную окружения XDEBUG_CONFIG=«idekey=*****»
И не совсем понятно, Вы это проделываете с настройкой docker каждый раз когда прилетает новая задача (новая ветка)? Если да, то советую всё же воспользоваться браузерными плагинами, убрать xdebug.remote_host/port, отключить xdebug.remote_autostart и включить remote_connect_back. Тогда эти настройки можно положить под контроль версий, откуда ими смогут воспользоваться все.
Ну и конечно всё это работает пока вам нужно дебажить только один сервер. Иначе, следующие утверждения неверны:
host: любой, он не влияет
port: любой, он не влияет
Всё вышеописанное работает пока сервер в одной сети с вами, в остальных случаях советую использовать DBGp proxy.
Во первых используя IDE_KEY можно дебажить один и тот же сервер нескольким разработчикам сразу, например общие тестовые сервера. Такое иногда бывает ))
Во вторых можно дебажить «очень» удалённые сервера без пробрасывания портов на каждой рабочей станции. Нужно только одно плечо DBGp сервера выпустить в мир, то которое работает непосредственно с xdebug расширением. Плечё которое работает с IDE можно оставить за NAT-ом. А имея подключение к офисной сети по VPN, спокойно дебажить все нужные сервера даже не будучи в офисе.
И всё это не требует каждый раз настраивать xdebug на стороне сервера. Один общий xdebug.ini где выключены xdebug.remote_autostart и xdebug.remote_connect_back и включено соединение с DBGp прокси сервером.
Давайте попробуем смоделировать, но с другого ракурса. Представьте ситуацию…
Вы разработчик у которого есть продукт с многолетней историей. Допустим мобильный разработчик. Допустим приложение под андроид. И у каждого вашего пользователя есть возможность НЕ устанавливать обновления.
Время и технологии как известно не стоят на месте. Многолетняя кодовая база тянет за собой вал багов и костылей к ним. Производительность ухудшается. Пользователь не то что бы не страдает, он уже привык, и по этому особо не возмущается.
И тут гениальная идея!!! Вы решаете отрефакторить своё приложение. И отрефакторить капитально!
Потом и кровью, бессонными ночами и ссорами с близкими людьми, Вы выкатываете новый релиз. Ура можно праздновать! Но нет…
— Какого чёрта? Я не хочу обновляться!!! (говорят ваши пользователи)
— Но это то же самое, только работает быстрее, и поддерживает тучу современных технологий, и новый UI, и батарею меньше жрёт, и…
— С высокой колокольни мне на ваши технологии и «U» — чего-то там. Раньше было лучше!!!
И что Вы делаете?..
Всеми правдами и не правдами пытаетесь заставить пользователя обновиться.
1. Новая версия API на бэкенде, c объявлением предыдущей как deprecated. И всяческими уведомлениями о том что «Скоро Ваше приложение сдохнет к чертям!!!»
2. Новые фичи только в новой мажорной версии. И как следствие куча жалоб в ТП: «Не могу сделать аватрку в… (напр. сепии), а мой сосед может!!!»
3. Через некоторое время deprecated версию закрываете полностью. Получаете кучу негатива от пользователей которые получили мёртвое приложение, но не захотели обновляться.
А всё потому что пользователь считает себя умнее разработчика. Я не говорю что это не возможно, но в большинстве случаев это не так.
И вернёмся к нашим… Я даже не знаю как это назвать.
Не хочешь?.. — Backup, BootableUSB, < MacOS, Linux, FreeBSD, даже Android-x86, и т.д., в конце концов напиши свою OS >
Чем Вам 10-ка не угодила?
Выбор инструмента зависит от целей. И если вам нужна Win платформа, то скорее всего всё что у вас работает под Win7, заработает и на Win10.
Ярко выраженная позиция Microsoft по поводу обновления до 10-ки, для меня означает всего лишь попытку избавится от старых продуктов. И продвинуть в массы более современный продукт. И скажите мне что это не правильно! Да, конечно модель монетизации изменилась, и ещё не доконца ясна (завтра они что-нить другое придумают). Да, конечно им это выгодно, я бы тоже пытался избавится от старья.
Чего Вы боитесь?
10-ка стучать на вас будет? Если для вас важна конспирация и вы не кулхацкер, то смотрите выше про «Backup, ...».
Если вы кулхацкер, то не думаю что для вас станет проблемой выпилить/заблокировать её стучалку.
Вам интерфейс не нравится?
Концептуально ничего же не поменялось.
У них (Microsoft) был печальный опыт c мобильными платформами. 10-ка это попытка сделать OS которая будет единой для множества (пусть пока и не существующих) устройств. И это опять таки благие намерения. Да спохватились поздновато, но таки спохватились.
У меня на рабочей станции Ubunta (ага, давайте ещё похоливарим о линуксовых дистрибутивах). Дома — Win10. И не ощущаю дискомфорта при работе с MacOS.
Почему на работе linux:
Так как я всё таки backend разработчик, то на работе мне иногда нужны всякие эксперименты в окружении близком к боевому. Конечно у нас есть dev контейнеры, но ломать среду разработки ради эксперимента не всегда выгодно по времени.
Почему дома Win10:
Нет, не из-за игр. Не играю в них. То есть вообще! Чёт не прёт.
Всегда соглашался, что с точки зрения пользовательского интерфейса, WIN — хорош.
До недавнего времени параллельно держал Linux. Но как-то замучался переключатся, и со временем просто остался в WIN.
Иногда экспериментирую с .NET. Да, знаю — mono наше всё )) Но нет!
Итог:
Если что не нравится — «Backup, ...».
Если кто-то мне будет рассказывать как мне строить и продвигать свой продукт, куда я его пошлю?.. Не правильно!
Сначала предложу сделать лучше. )) А потом он(а) сам(а) поймёт куда идти.
Недостаточно. Возможно Вы просто забыли скопировать в статью, но для именно такого поведения нужно включить флаг xdebug.remote_autostart в конфигурацию PHP. Иначе xdebug расширение всё ещё будет ждать cookie XDEBUG_SESSION либо query параметр XDEBUG_SESSION_START либо, в случае с CLI, переменную окружения XDEBUG_CONFIG=«idekey=*****»
И не совсем понятно, Вы это проделываете с настройкой docker каждый раз когда прилетает новая задача (новая ветка)? Если да, то советую всё же воспользоваться браузерными плагинами, убрать xdebug.remote_host/port, отключить xdebug.remote_autostart и включить remote_connect_back. Тогда эти настройки можно положить под контроль версий, откуда ими смогут воспользоваться все.
Ну и конечно всё это работает пока вам нужно дебажить только один сервер. Иначе, следующие утверждения неверны:
Всё вышеописанное работает пока сервер в одной сети с вами, в остальных случаях советую использовать DBGp proxy.
Во первых используя IDE_KEY можно дебажить один и тот же сервер нескольким разработчикам сразу, например общие тестовые сервера. Такое иногда бывает ))
Во вторых можно дебажить «очень» удалённые сервера без пробрасывания портов на каждой рабочей станции. Нужно только одно плечо DBGp сервера выпустить в мир, то которое работает непосредственно с xdebug расширением. Плечё которое работает с IDE можно оставить за NAT-ом. А имея подключение к офисной сети по VPN, спокойно дебажить все нужные сервера даже не будучи в офисе.
И всё это не требует каждый раз настраивать xdebug на стороне сервера. Один общий xdebug.ini где выключены xdebug.remote_autostart и xdebug.remote_connect_back и включено соединение с DBGp прокси сервером.
xdebug.remote_connect_back = 0xdebug.remote_autostart = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "YOUR.DBPP.SERVER.ADDR"
xdebug.remote_port = 9900
xdebug.remote_log="/tmp/xdebug.log"
Здесь 9900 это как раз то плечё которое смотрит в сторону xdebux расширения. В сторону IDE будет стандартный 9000.
Ну сколько можно!?
Давайте попробуем смоделировать, но с другого ракурса. Представьте ситуацию…
Вы разработчик у которого есть продукт с многолетней историей. Допустим мобильный разработчик. Допустим приложение под андроид. И у каждого вашего пользователя есть возможность НЕ устанавливать обновления.
Время и технологии как известно не стоят на месте. Многолетняя кодовая база тянет за собой вал багов и костылей к ним. Производительность ухудшается. Пользователь не то что бы не страдает, он уже привык, и по этому особо не возмущается.
И тут гениальная идея!!! Вы решаете отрефакторить своё приложение. И отрефакторить капитально!
Потом и кровью, бессонными ночами и ссорами с близкими людьми, Вы выкатываете новый релиз. Ура можно праздновать! Но нет…
— Какого чёрта? Я не хочу обновляться!!! (говорят ваши пользователи)
— Но это то же самое, только работает быстрее, и поддерживает тучу современных технологий, и новый UI, и батарею меньше жрёт, и…
— С высокой колокольни мне на ваши технологии и «U» — чего-то там. Раньше было лучше!!!
И что Вы делаете?..
Всеми правдами и не правдами пытаетесь заставить пользователя обновиться.
1. Новая версия API на бэкенде, c объявлением предыдущей как deprecated. И всяческими уведомлениями о том что «Скоро Ваше приложение сдохнет к чертям!!!»
2. Новые фичи только в новой мажорной версии. И как следствие куча жалоб в ТП: «Не могу сделать аватрку в… (напр. сепии), а мой сосед может!!!»
3. Через некоторое время deprecated версию закрываете полностью. Получаете кучу негатива от пользователей которые получили мёртвое приложение, но не захотели обновляться.
А всё потому что пользователь считает себя умнее разработчика. Я не говорю что это не возможно, но в большинстве случаев это не так.
И вернёмся к нашим… Я даже не знаю как это назвать.
Не хочешь?.. — Backup, BootableUSB, < MacOS, Linux, FreeBSD, даже Android-x86, и т.д., в конце концов напиши свою OS >
Чем Вам 10-ка не угодила?
Выбор инструмента зависит от целей. И если вам нужна Win платформа, то скорее всего всё что у вас работает под Win7, заработает и на Win10.
Ярко выраженная позиция Microsoft по поводу обновления до 10-ки, для меня означает всего лишь попытку избавится от старых продуктов. И продвинуть в массы более современный продукт. И скажите мне что это не правильно! Да, конечно модель монетизации изменилась, и ещё не доконца ясна (завтра они что-нить другое придумают). Да, конечно им это выгодно, я бы тоже пытался избавится от старья.
Чего Вы боитесь?
10-ка стучать на вас будет? Если для вас важна конспирация и вы не кулхацкер, то смотрите выше про «Backup, ...».
Если вы кулхацкер, то не думаю что для вас станет проблемой выпилить/заблокировать её стучалку.
Вам интерфейс не нравится?
Концептуально ничего же не поменялось.
У них (Microsoft) был печальный опыт c мобильными платформами. 10-ка это попытка сделать OS которая будет единой для множества (пусть пока и не существующих) устройств. И это опять таки благие намерения. Да спохватились поздновато, но таки спохватились.
У меня на рабочей станции Ubunta (ага, давайте ещё похоливарим о линуксовых дистрибутивах). Дома — Win10. И не ощущаю дискомфорта при работе с MacOS.
Почему на работе linux:
Так как я всё таки backend разработчик, то на работе мне иногда нужны всякие эксперименты в окружении близком к боевому. Конечно у нас есть dev контейнеры, но ломать среду разработки ради эксперимента не всегда выгодно по времени.
Почему дома Win10:
Нет, не из-за игр. Не играю в них. То есть вообще! Чёт не прёт.
Всегда соглашался, что с точки зрения пользовательского интерфейса, WIN — хорош.
До недавнего времени параллельно держал Linux. Но как-то замучался переключатся, и со временем просто остался в WIN.
Иногда экспериментирую с .NET. Да, знаю — mono наше всё )) Но нет!
Итог:
Если что не нравится — «Backup, ...».
Если кто-то мне будет рассказывать как мне строить и продвигать свой продукт, куда я его пошлю?.. Не правильно!
Сначала предложу сделать лучше. )) А потом он(а) сам(а) поймёт куда идти.
P.S.: Вот это я сейчас отгребу. ))