1. Xdebug + PhpStorm

Поделиться
HTML-код
  • Опубликовано: 25 янв 2025

Комментарии • 93

  • @apostlerus
    @apostlerus 5 лет назад +1

    Забыл где порт менять, но путем нехитрой перемотки нашел на 12:15 где ты напомнил как менять порт, спасибо!

  • @point212
    @point212 8 лет назад +8

    Спасибо чувак! Наконец то я победил свою лень в настройке окружения. Прочь инструменты пещерного века. Прощай echo, var_dump и прочие json_encode :))) Наконец то я вернулся к тому дебаггеру, который был у меня в моём уютненьком 2000 в Турбо Паскале 7.0 ))))

    • @pavelbelik
      @pavelbelik  8 лет назад

      ))) очень рад за тебя ;)

  • @Астролит
    @Астролит 7 лет назад +1

    Чувак ты лучший! Не поверишь, но только благодаря твоему видео, у меня наконец то получилось синхронизировать дебаг со штормом! Не останавливайся пожалуйста на этом видео! В сети так мало полезного видео по шторму.

  • @alexeybril6742
    @alexeybril6742 8 лет назад +2

    Круто, спасибо за то, что ты делаешь. Это реально крутой инструмент. Не пойму, как я вообще без него обходился раньше)))

    • @pavelbelik
      @pavelbelik  8 лет назад

      Да, это точно. Я вообще не знаю, как без него можно работать, если он есть )

  • @acerrusm
    @acerrusm 8 лет назад +3

    Спасибо за урок. Что касается frames, то это активная функция/метод и ее содержимое. Если нажимать на функции, то можно посмотреть какие переменные доступны в них. Также frames показывает последовательность выполнения функций: в самом низу это самая первая выполняемая функция, а в самом верху функция которая была выполнена в точке остановки.
    Также, если нажать правой кнопкой мыши на саму точку остановки (красный шарик), то можно выставить условие остановки (condition). Например если в условии прописать $age == 20, то остановка выполниться только в том случае, если переменная $age действительно будет равна 20.

    • @pavelbelik
      @pavelbelik  8 лет назад

      Спасибо большое. Комментарий очень полезный.

    • @hechnqn3460
      @hechnqn3460 8 лет назад

      Разван ну кому как нрвитсся мне например NE...T в шторме загружаетя долго для любительских компов

  • @IgorMikhailov-rx4tv
    @IgorMikhailov-rx4tv 6 лет назад

    Спасибо большое за видео. Долго пытался настроить XDebug как на нетбинтс так и на пхп-шторм, и получилось только по вашей инструкции!

  • @ОхороннакомпаніяАльфа-Спорт

    Спасибо. Только что посмотрел видео и все у себя настроил.Очень толково все объяснил и показал. Настройки слетают если не создан проект, если проект создан, то настройки вместе с проектом сами загружаются при открытии Storm. Ну на крайний случай можно делать Export - Import настроек (всех или по выбору).Еще раз спасибо за материал.

  • @davronhaydarov1441
    @davronhaydarov1441 4 года назад

    Можете снять видео по мултиязичность сайта на php & mysql под категории en/ru??????????

  • @ZdorovoVeselo
    @ZdorovoVeselo 8 лет назад +20

    Разван, спасибо за видео. И вообще спасибо за все твои видео. Вот посмотрел сегодня и захотелось досконально разобраться с настройками Xdebug. Прочёл документацию на оф.сайте, а так же вот эту статью confluence.jetbrains.com/display/PhpStorm/Multi-user+debugging+in+PhpStorm+with+Xdebug+and+DBGp+proxy по настройке для группы разработчиков. Как оказалось, всё настолько просто, что даже проще некуда. Раньше я уже пытался разобраться с этим вопросом, кстати после просмотра одного из твоих видео, где ты использовал Xdebag, но как то не пошло.
    Наверно потому, что мало кто объясняет как вообще работает Xdebug и за что отвечают конкретные настройки. Это в какой-то степени и в твоём видео присутствует (я знаю ты нормально отреагируешь на критику).
    Уже много времени прошло с момента записи видео, но возможно это будет новой информацией для тебя.
    Минимальная настройка для локальной работы одного разработчика сводится к нескольким шагам:
    1. установить Xdebug;
    2.добавить в php.ini строки
    zend_extension=... // где лежит плагин
    xdebug.remote_enable=on // это позволит запускать Xdebug из браузера
    3. установить плагин для браузера Xdebug helper
    И всё ...
    xdebug.remote_autostart=on означает, что Xdebug будет запускаться при каждом исполнении скрипта, можно включить но лучше использовать плагин для браузера Xdebug helper. Этот плагин добавляет и удаляет coockie "XDEBUG_SESSION" в котором хранится "idekey".
    То есть когда на сервер приходит запрос с этим coockie, Xdebug запускает сбор информации и отправляет её в IDE (то есть на ip и port которые указаны в php.ini - если не указаны используется по умолчанию 127.0.0.1:9000). Причём не важно какой "idekey" хранится в coockie "XDEBUG_SESSION", главное их наличие, а "idekey" нужен только при использовании DBGp proxy для группы разработчиков, которые одновременно работают над одним проектом. (кстати возможная тема для одного из твоих будущих видео)
    Поэтому xdebug.idekey="PHPSTORM" не надо добавлять в php.ini
    А вот теперь самое интересное - в PHPStorm ничего настраивать не надо, если нет конфликта портов (9000 порт уже установлен).
    Всё что нужно сделать это включить прослушивание - это та кнопочка на панели в виде трубки телефонной, далее включить плагин в браузере в режим "debug" и обновить страницу.
    После чего PHPStorm покажет окно с информацией о входящем подключении, где нужно нажать OK.
    Всё - Xdebug настроен.
    Удобство этой конфигурации заключается в том, что в IDE прилетает информация с debug-ом, только с тех страниц где плагин "Xdebug helper" включен в режим "debug".
    Некоторая оговорка: запуск отладки скрипта из PHPStorm при этих настройках будет недоступен. И вот как раз чтобы это исправить придётся пойти в настройки PHPStorm и прописать Debug Configuration (о чём ты рассказывал в видео). Но можно без этого совершенно спокойно обойтись.
    Извини что так длинно получилось.

  • @_Ivan_B_
    @_Ivan_B_ 4 года назад +1

    Добрый день. Сделал когда то по вашим советам, все работало, сильно помогала эта штука. Но потом внезапно перестало. Подозреваю, что это xdebug обновился. Сейчас php -v среди прочего показывает with Xdebug v3.0.1, Copyright (c) 2002-2020, by Derick Rethans. Все конфиги проверял, вроде все на месте. Можете подсказать в чем может быть дело? Убунту к стати.

    • @pavelbelik
      @pavelbelik  4 года назад

      К сожалению, не подсажу. JavaScript в основном, в последнее время

  • @МишаМ-с6ж
    @МишаМ-с6ж 3 года назад

    Здравствуйте.
    У меня нет каких-то особых к требований к "теме" Linux,нет пока желания подстраивать его внешний виде под себя,но всё же ,подскажите в таком случае какой лучше для разработчика php выбрать Linux?Какую сборку ?
    Раньше я устанавливал xdebug всё вроде работало на windows с openserver,но теперь пошли какие-то заморочки,потерял кучу времени на установку,но воз и ныне там.Всё это окончательно достало,поэтому решил уйти на Linux.

    • @pavelbelik
      @pavelbelik  3 года назад

      в этом нет смысла. Мне нравится линукс, который красивый

  • @YulianaWrites
    @YulianaWrites 7 лет назад +2

    Отличное видео! Было бы неплохо еще сделать что-то вроде "how-to" по сборке той ОС, на которой ты сейчас работаешь. От линукса до текстовых редакторов - как поставить и настроить все ПО, как решать часто возникающие в связи с этим ошибки и т.д.

    • @pavelbelik
      @pavelbelik  7 лет назад

      хорошая идея. Подумаю над этим.

  • @artemdeveloper7304
    @artemdeveloper7304 2 года назад +1

    СПАСИБО ЗА ВИДЕО. ПРИВЕТ ИЗ 2022

  • @Астролит
    @Астролит 7 лет назад

    Здравствуйте коллеги! Не нашел нигде информации по данному вопросу, поэтому прошу вашей помощи! Ситуация следующая, включаю дебаггер и начинаю идти по коду, все работает прекрасно, пока не доходит до include или require. В некоторые include/require дебаггер заходит и пробегается по коду, а в некоторые не заходит, но при этом код исполняется в любом случае.
    ...
    ...
    Пробовал и через F8 (шаг без захода в функцию) и через F7 (с заходом в функцию). Один раз он каким то чудом пробежался по всем include/require, но после перегрузки PHPStorm все снова встало на свои места. В какие то файлы проваливается, а какие то обходит стороной.

    • @pavelbelik
      @pavelbelik  7 лет назад

      Используй в include абсолютные пути, вместо относительныйх. Видимо, у тебя проект открыт не в той же папке, что и подключаются эти файлы, и дебагер не может правильно определить путь к файлу. Лучше писать что-то вроде: include __DIR__ . '/test1.php';

  • @SergiuBurduja-y1l
    @SergiuBurduja-y1l 7 лет назад

    Cпасибо, по твоему видео xdebug у меня заработал только со второго раза, после первого, тупо забыл перезапустить open-server, тогда еще на виндовсе сидел. По твоему совету перешел на убунту, доволен))).
    Ты обещал показать свою сборку на линукс, когда видео будет? Очень ждемс, продолжай в том же духе, у тебя круто получается.

  • @eduardmart1237
    @eduardmart1237 6 лет назад

    А можно таким образом с openserver соединить? Без плагина для браузера.

  • @NukDokPlex
    @NukDokPlex 5 лет назад

    Хэй, бро, помогло очень сильно, в CodeIgniter без этого вообще никак

  • @ВячеславТ-т1е
    @ВячеславТ-т1е 5 лет назад

    1) не могу найти в php_storm в run/debug configuration [PHP WEB APPLICATION] и xdebug хоть убей не выводит variables - выводит только $_SERVER когда брейкпоинт поставить на первую строку.

  • @phpstudy8625
    @phpstudy8625 3 года назад

    Спасибо крутое видео!!!
    НО у меня другая проблема вылезла если я захожу в проект через Openserver/ Мои сайты/
    то у меня 'REQUEST_URI' => string '/' (length=1) вот такой,
    а если открываю через phpStorm то вот такой
    'REQUEST_URI' => string '/index.php/index.php?_ijt=t7p43g1cg9khqlpmlncdepek6d' (length=52)
    как надо настроить OpenServer и Storm , Чтобы URI был одинаковый и там и там

  • @sozidatel79
    @sozidatel79 8 лет назад

    А как с такой ситуацией быть, на виртуалке стоит машина ДЕВ, там локал хост, пхпсторм, деплоймент настроен через ссч по приватному ключу(не суть), в ДГБ Прокси прописан адресс продакшн, в икс дебаг ини тот же адресс, интерпретатор пробовал как и локально так и ремот, на удаленном сервере тоже стоит икс дебаг, все везде включено, открываю проэкт локально ставлю брейк поинт, в браузере перехожу по сылке на контроллер на котором брейк поинт и ничего, контроллер это сервис так что вар дамп не вариант, данные приходят из другово сервиса. пробовал открывать фаил проекта через фтп(закладка ремоте хост в пхпсторм), тогда не дает ставить брейк поинт. Уже день с этим парюсь, всю мозгу себе поломал. Может кто знает как настроить, может плагин в пхпсторм нужен какой для такого дебага?
    То есть если короче(надо дебажить то что приходит на продакшнм, но брейк поинты я ставлю на локальном файле ,потому как сервис который шлет данные не настроить на мой локалхост).
    Очень надо, помогите Спецы. :)
    П.С. на винде тоже не работает.
    П.С. 2 локально дебагер работает, если дебажить локально.

    • @pavelbelik
      @pavelbelik  8 лет назад +1

      confluence.jetbrains.com/display/PhpStorm/Remote+debugging+in+PhpStorm+via+SSH+tunnel , onedev.net/post/326

  • @iNeedSomeCookies1
    @iNeedSomeCookies1 6 лет назад +1

    Сбасибо! Если вы на Symfony, не забудьте перед тестированием xdebug перезапустить сервер (bin/console server:stop/start).

  • @Jonstonrich
    @Jonstonrich 7 лет назад

    Меня почему то не перекидывавет автомачитески если я запускаю проект в браузере.

  • @SergiuBurduja-y1l
    @SergiuBurduja-y1l 7 лет назад

    Не знаю, у меня отладка не запускается, если нажимаю на иконку debug, то тогда показывются изменения в браузере, а вот переменные в шторме так и не появляются после точек останова, наверное что-то не так делаю. Буду колдовать дальше...

  • @СергейСушко-л5й
    @СергейСушко-л5й 6 лет назад

    Спасибо за урок. Очень помог всё настроить)

  • @oleg4337
    @oleg4337 8 лет назад

    Здравствуйте, Разван!
    Подскажите когда можно будет увидеть пошаговое создание сайта(например интернет магазина) на Drupal или Symfony?
    P.S. - очень импонирует использование Linux и PphStorm! Cool!!!

  • @АлексейПолин-ы3о
    @АлексейПолин-ы3о 6 лет назад

    Огромное спасибо за подробное видео.

  • @ihor8553
    @ihor8553 6 лет назад

    Спасибо за видео) у меня небольшое (возможно) осложнение) дебагер работает только в индекс-файле проекта, далее по контроллеорам что то не идет( не подскажете в какую сторону смотреть ?

  • @maksimfedorov2632
    @maksimfedorov2632 8 лет назад

    Разван, спасибо, все вроде получилось, кроме одого НО! ;) у меня PhpStorm ругается "php-cgi not found"
    НЕ понимаю как для 7 php сделать его (у вас php-fpm, как понял для nginx)
    И юзерский вопрос ;) Как вы в терминал копипастом перебираете вставки предыдущих команд?

    • @pavelbelik
      @pavelbelik  8 лет назад

      php-cgi нужно установить и настроить. В этом хорошо может помочь гугл: www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=php-cgi%20install
      Кстати, задавать правильные вопросы - это всегда половина решения ;).
      Вставки предыдущих команд я перебираю клавишами "вверх" - "вниз"

  • @МишаМ-с6ж
    @МишаМ-с6ж 4 года назад +1

    Супер! Молодец!

  • @VladislavVitalevich
    @VladislavVitalevich 7 лет назад +1

    Блин настраивал xdebug в Ubntu 16.04 по мануалам... Жаль что не посмотрел сюда сразу!!!! )))

  • @proctoleha
    @proctoleha 8 лет назад

    Разван, ты красавчег, давай еще.
    По сабжу: у меня по адресу /etc/php5/mods-available/xdebug.ini прописано только
    zend_extension=xdebug.so
    xdebug.remote_enable=1
    И всё! И работает почему-то :))) Да и то вторая строка явно лишняя, т.к. дебажу локально.
    И еще: ajax запросы пробовал дебажить?

    • @pavelbelik
      @pavelbelik  8 лет назад

      Да, но у тебя, по-идее, не работает автоматический подхват при использовании сайта. Дебагер работает только по клику на зеленого жука. А у меня работает непрерывный захват процесса phpStorm-ом.
      Ajax запросы дебажил, конечно, - все точно так же работает.

    • @proctoleha
      @proctoleha 8 лет назад

      У меня закладки в браузере есть для дебага. www.jetbrains.com/phpstorm/marklets/ Вот только не спрашивай почему так, а не как у тебя. Не помню. Что-то где-то не пошло, а через закладки всё отлично подхватывается.
      И еще: у меня на xdebug ругается composer.
      You are running composer with xdebug enabled. This has a major impact on runtime performance. See getcomposer.org/xdebug
      Я пошел самым тупым-простым способом, отключаю xdebug на время работы с композером:
      #!/bin/bash
      ACTION=$1
      if [[ "$ACTION" = "dis" ]]; then
      sudo php5dismod xdebug
      fi
      if [[ "$ACTION" = "en" ]]; then
      sudo php5enmod xdebug
      fi
      sudo service apache2 restart
      exit 0
      Вопрос: есть ли у тебя такая проблема, если да, то как ты её решаешь?

    • @pavelbelik
      @pavelbelik  8 лет назад

      Алексей Кулагин Мое видео и было о том, как сделать так, как у меня.
      Проблема с композером есть у всех. На оф. сайтах об этом написано. Вполне нормальное решение выключать xdebug на время работы с композером.

  • @SiriusBlackNuar
    @SiriusBlackNuar 8 лет назад

    Разван, спасибо за ваш труд! скажите, а как Вы используете несколько версий php на сервере? Спасибо!

    • @pavelbelik
      @pavelbelik  8 лет назад

      Я не использую несколько версий на одной машине. Локально только 7ка

    • @SiriusBlackNuar
      @SiriusBlackNuar 8 лет назад

      Ок, СПС!

  • @АлексейТурец-р1т
    @АлексейТурец-р1т 7 лет назад +10

    xdebug.remote_handler = dbgp; протокол для отладки

  • @Mr4iloveg
    @Mr4iloveg 8 лет назад

    Скоро продолжение по паттернам ООП? а то что то на ютубе толковых уроков по этому не увидел, жду от тебя...

    • @pavelbelik
      @pavelbelik  8 лет назад

      Тема довольно трудоемкая в подготовке, а я ленивый. Поэтому, даже боюсь что-то обещать. Как всегда, возможно, завтра. Если нет, то ждите на следующих выходных.

  • @АлексейФетисов-э7ч

    Разван привет! Может покажешь как устанавливать веб-сервер и phpstorm на linux?

    • @Mr4iloveg
      @Mr4iloveg 8 лет назад

      загугли "xampp инструкция по установке" phpstorm на оффсайте посмотри как устанавливать.

    • @pavelbelik
      @pavelbelik  8 лет назад +11

      куда-то делся предыдущий ответ. Если этот коммент наберет более 10 лайков - запишу. Понимаю, что это видео может кому-то помочь быстрее соскочить с windows, которая всячески мешает потенциально хорошему разработчику развиваться.

    • @АлексейФетисов-э7ч
      @АлексейФетисов-э7ч 8 лет назад

      вот как раз хочу это сделать(уже соскакиваю)!!!

    • @pavelbelik
      @pavelbelik  8 лет назад

      Алексей Фетисов решение, которое может стать одним из ключевых на пути к успеху ;)

  • @Сергей-к3у7е
    @Сергей-к3у7е 8 лет назад

    Спасибо большое. Всё заработало.

  • @IgorMikhailov-rx4tv
    @IgorMikhailov-rx4tv 5 лет назад

    Полезное видео, спасибо!

  • @jackbauer4275
    @jackbauer4275 7 лет назад

    спасибо, офигенно полезное видео )

  • @пашафудько
    @пашафудько 7 лет назад

    Сделай видео о подробной настройка apache2 под Linux.Виртуальные хосты и т.д.

  • @SerhiiHavrylenko-ns7np
    @SerhiiHavrylenko-ns7np 6 лет назад

    спасибо, очень полезное видео

  • @Mr4iloveg
    @Mr4iloveg 8 лет назад +4

    chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
    Это полезное расширение - в настройках выберите PHPSTORM.
    Разван спросил про "Фреймс", я когда обновляю страничку включив прослушивание + это расширение, то в блоке "фреймс" будут все функции которые хоть как то связаны со страничкой. Например методы роутов контроллеров и пр. в ларавеле шт 20 как минимум строк в этом блоке.

  • @vitaliyk9365
    @vitaliyk9365 8 лет назад

    Большое спасибо!

  • @ALlordPW
    @ALlordPW 7 лет назад

    $_POST пустой, что делать?

    • @pavelbelik
      @pavelbelik  7 лет назад

      Недостаточно информации.

  • @СергійРудь-ю2к
    @СергійРудь-ю2к 8 лет назад

    Спасибо большое.

  • @typepeak
    @typepeak 7 лет назад

    в 15 году был на win7?!

  • @yuklia
    @yuklia 6 лет назад

    Всем привет! Вот по теме моя статья "Configure remote debugging with XDebug for php docker container on macOS"
    medium.com/@yuliakostrikova/configure-remote-debugging-with-xdebug-for-php-docker-container-on-macos-8edbc01dc373
    может кому пригодиться =)

  • @ДмитрийБорисенко-и5ъ

    спасибо!

  • @hechnqn3460
    @hechnqn3460 8 лет назад

    вся загатка все и почему...иначе просто тупо коптпаст

    • @pavelbelik
      @pavelbelik  8 лет назад

      Загадки нет. Просто в этой конфигурации работает. Я ее брал вот отсюда: habrahabr.ru/post/250323/ по причинам, описанным в той же статье. Немного подумав, и разобравшись в конфигурации, нашел ее избыточной. Сейчас под видео актуальная минимальная конфигурация для того, чтоб все работало нормально.

    • @hechnqn3460
      @hechnqn3460 8 лет назад

      я просто хотел сказать...серверное программироване капризная штука у когото 32...у когото 62

  • @ВиталийИльинов-я8у

    спасибо

  • @prsion1925
    @prsion1925 7 лет назад

    Да на винде 7 слетает частенько . Спасибо за видео.!!

  • @romanbush5164
    @romanbush5164 2 года назад +1

    Мало того что в этой херне невозможно найти переменную или значение переменной, то она ещё добавляется в автозапуск, ужасная вещь, всё тормозит, не разу не pyrhon и не C#, C++ . День ото дня убеждаюсь что php мусор...

    • @pavelbelik
      @pavelbelik  2 года назад

      Да, как-то так это и есть. Согласен

  • @MsAndySPB
    @MsAndySPB 8 лет назад

    remote_host - это ip phpstorm-а.

    • @pavelbelik
      @pavelbelik  8 лет назад

      хм... Возможно, у тебя есть образец настройки xdebug для удаленного сервера?

    • @MsAndySPB
      @MsAndySPB 8 лет назад +1

      Разван Ломов
      xdebug.remote_enable=on
      xdebug.remote_handler=dbgp
      xdebug.remote_host=192.168.0.54
      xdebug.remote_port=9000
      xdebug.remote_log=/tmp/xdebug.log
      dbgp proxy в настройках phpstorm вообще не нужен, он используется, когда клиент работает за NATом (с gsm модема например). Для работы нескольких клиентов xdebug нужен специальный dbgp proxy на хосте со статическим IP. idekey в настроках IDE клиента должен быть уникальным, по нему идет регистрация на прокси.
      Я такую схему работы не проверял, но вроде проблем не должно быть. Однако, xdebug.remote_host можно разрулить на каждый каталог к отдельности (через apache htaccess например), т.е. каждый разработчик может свободно работать со своим каталогом.
      Если честно я в разработчики перешел недавно, ранее был unix-администратором :)

    • @pavelbelik
      @pavelbelik  8 лет назад

      Andrey Prokofiev теперь ясно, откуда такое отличное понимание настройки unix систем ) Спасибо! Завтра попробую своему "тим. лиду" настроить удаленный дебагер, если он захочет.

  • @ДмитрийБорисенко-и5ъ

    habr.com/sandbox/20485/ Описание всех параметров в php.ini. Может кому нужно))))

  • @pessom
    @pessom 8 лет назад

    Херня, учите матчасть и только после этого занимайтесь обучением.

    • @pavelbelik
      @pavelbelik  8 лет назад

      Очень похоже на способ критики в современных СМИ. Конструктивная критика помогает нам развиваться (имею в виду себя и своих подписчиков). А вот такое мнение - пустое место.

    • @pessom
      @pessom 8 лет назад

      Разван Ломов в centos не работают Ваши apt-get 😆
      remote_handler и remote_mode вообще не обязательно указывать, c 15:53 вообще чушь

    • @pavelbelik
      @pavelbelik  8 лет назад +2

      Dimka Fixec тот, кто использует centos прекрасно знает, какие команды у него работают, точно так же, как и пользователь мака. Под видео есть минимальная достаточная конфигурация. А критика с 15:53 снова бесконструктивна.
      75 человек смогло воспользоваться моей помощью, а скольким помогли вы своей критикой?

  • @zeroone1996
    @zeroone1996 7 лет назад

    Спасибо большое!

  • @sergii7593
    @sergii7593 6 лет назад

    Спасибо!

  • @ВиталийИльинов-я8у

    спасибо