За последние 24 часа нас посетили 18942 программиста и 1616 роботов. Сейчас ищут 1077 программистов ...

PHPStorm настройка Xdebag + Open Server

Тема в разделе "Прочие вопросы по PHP", создана пользователем hrap, 27 июн 2013.

  1. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Всем Здрасти! Идёт третий день, как я пытаюсь настроить webstorm. Пытаюсь подключится к Xdebag который идёт в комплекте с Open Server. Сервер настроен скорее всего правильно, что доказывает созданный простой скрипт, который подключен к БД и выводит простое сообщение в браузере. Но когда я настраиваю отладку и специально делаю в коде ошибку или ставлю точку остоновы, всегда одно и тоже.
    В браузере :
    [​IMG]
    в PHPStorm :
    [​IMG]
    в чем может быть дело?
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Серверу собвственно передано, что не просто страницу отдать, а подключится к xdebug?
    параметр в URL нужон
    Код (PHP):
    1. localhost/somescript.php?XDEBUG_SESSION_START=phpstorm-xdebug
     
  3. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Ke1eth Спасибо, но не могли бы вы немного подробнее, я только первые шаги делаю. А если ещё точнее ,настройка шторма это и есть мой первый шаг)
    Когда я нажимаю дебаг в шторме, то открывается хром с таким вот адресом :
    По сути адрес и порт ему в шторме указал, но как вижу, мой адрес от вашего отличается..
    и ещё вот что подумал, когда увидел Ваше сообщение - у меня в конфиге php написано :
    и закралась мысль - нужно ли в пути дебага в шторме указывать "localhost" или в конфиге написать php.test:9000 ?
     
  4. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Бывает так, что кто то задаст вопрос и ты знаешь на него ответ, но не отвечаешь только по тому, что слишком много нужно спросить, для полной картины. Вот если эту тему смотрят те, кто так же не отвечает из-за указанной выше причины, то скажите, что готовы помочь и что Вам для этого надо! я хоть с самого начала настройки скрины сделаю. Я уже все мануалы из инета по настройки наизусть выучил...и не работает!
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чтобы заработало надо включить xdebug.remote_host = "localhost" для начала
    открыть порт.
     
  6. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    точка с запятой ; это комментарии*)
    Тогда вот весь код [xdebug] php.ini. Есть ещё в нём какие то проблемы?
    Код (Text):
    1. [Xdebug]
    2. zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
    3. xdebug.auto_trace = 1
    4. ;xdebug.collect_includes = 1
    5. ;xdebug.collect_params = 0
    6. ;xdebug.collect_return = 0
    7. ;xdebug.collect_vars = 0
    8. xdebug.default_enable = 0
    9.  
    10. ;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
    11. ;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
    12. ;xdebug.dump.COOKIE = ""
    13. ;xdebug.dump.FILES = ""
    14. ;xdebug.dump.GET = ""
    15. ;xdebug.dump.POST = ""
    16. ;xdebug.dump.REQUEST = ""
    17. ;xdebug.dump.SERVER = ""
    18. ;xdebug.dump.SESSION = ""
    19.  
    20. ;xdebug.dump_globals = 1
    21. ;xdebug.dump_once = 1
    22. ;xdebug.dump_undefined = 0
    23. ;xdebug.extended_info = 1
    24. ;xdebug.file_link_format = ""
    25. ;xdebug.idekey = ""
    26. ;xdebug.manual_url = "http://www.php.net"
    27. ;xdebug.max_nesting_level = 100
    28. ;xdebug.overload_var_dump = 1
    29. ;xdebug.profiler_append = 0
    30. xdebug.profiler_enable = 0
    31. xdebug.profiler_enable_trigger = 0
    32. xdebug.profiler_output_dir="%sprogdir%/userdata/temp/xdebug/"
    33. xdebug.profiler_output_name = "cachegrind.out.%H%R"
    34. ;xdebug.remote_autostart = 0
    35. xdebug.remote_enable = 1
    36. ;xdebug.remote_handler = "dbgp"
    37. xdebug.remote_host = "localhost"
    38. ;xdebug.remote_log = "none"
    39. ;xdebug.remote_mode = "req"
    40. xdebug.remote_port = 9000
    41. ;xdebug.show_exception_trace = 0
    42. ;xdebug.show_local_vars = 0
    43. ;xdebug.show_mem_delta = 0
    44. ;xdebug.trace_format = 0
    45. ;xdebug.trace_options = 0
    46. xdebug.trace_output_dir = "%sprogdir%/userdata/temp/xdebug/"
    47. ;xdebug.trace_output_name = "trace.%H%R"
    48. ;xdebug.var_display_max_children = 128
    49. ;xdebug.var_display_max_data = 512
    50. ;xdebug.var_display_max_depth = 3
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    убери плс закомменченые строки. читать невозможно =)
     
  8. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    хорошо
    http://php.test:9000/?XDEBUG_SESSION_START=16419
    что мы видем? )

    мы видем, что у тебя в настройках phpStorm указан хост, где искать веб-сервер вот этот: php.test, а нужон localhost, меняй.
    Далее можешь попробовать в браузере после попытки открыть http://php.test:9000/?XDEBUG_SESSION_START=бла-бла-бла руками поменяй php.test на localhost, посмотри результат.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    xdebug.remote_host = "localhost"
    это касается того, откуда запрос пришел на дебаг. а не сервера.
     
  10. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Так?)
    После того как открыл все строки в браузере пишет - "отправка запроса" , но нет не чего ,что бы увидеть. То есть точки остановы в коде наставил ,но в консоли не чего нет.
    Добавлено спустя 23 минуты 16 секунд:
    Фуууух...Спасибо Вам, я бы не за что сам не справился!
    У меня остался ещё один вопрос : в as3 есть метод "trace()" который выводит в ( тут это скорее всего "консоль" ) результат выполнения кода например:
    Код (Text):
    1. var a : int = 1 ;
    2. var b : int = 2 + a ;
    3. trace( b ) ; //3
    или помогает смотреть ,что в метод передалось значение...
    здесь есть что то подобное?
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    var_dump в пхп

    а в xdebug просто в IDE ставишь brak-point и глядишь
     
  12. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Всем ещё раз - Спасибо! Очень рад ,что наконец можно приступить к учению..
    И вот только маленький вопрос, тоже по отладке:
    если я создаю обычный файл.php5 и пишу там ..и ставлю точку остановы, то все работает.
    Код (Text):
    1. $count = 5 ;
    2. var_dump($count) ;
    но если я создаю класс, тоже самое, уже не работает. Почему? Пишу вот как :
    Код (Text):
    1. <?php
    2. class Main {
    3.     public $count = 10 ;
    4.     public function foo()
    5.     {
    6.         var_dump($this->count) ;
    7.     }
    8. }
    и ещё, я смотрю учебник по классам и то ли так так написано, то ли я чего не понимаю. Там как бы в одном файле несколько классов сразу..?
    Типа :
    Код (Text):
    1. <?php
    2. class A
    3. {
    4. }
    5. class B
    6. {
    7. }
    8. ?>
    если писать классы в одном файле, то какой в них смысл? Разве классы не созданы для разделения кода на обьекты, для удобства?
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    =)

    var_dump это не брейкпоинт

    какая разница в скольких файлах у тебя что лежит? на код это не влияет.
     
  14. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    я понимаю, что это - метод, выводящий информацию, но я ставлю точку останову на нём...но это уже не важно, мне обьяснили почему в классе так не получается, оказывается просто надо его экземпляр создать, пока не привычно...
    Вот как я всегда думал про php...так же и сейчас думаю) Не чего плохого я конечно не думаю, но он тааакой странный)

    Добавлено спустя 50 минут 12 секунд:
    Так и мучаюсь с отладкой. я хочу Вас спросить - Вы так же отлаживаете, как и я? ( мой процесс отладки ниже ) ( если есть другой вариант, подскажите пожалуйста, как ) :
    нажимаю
    [​IMG]
    код выглядит так
    [​IMG]
    после этого в браузере открываеть вкладка, а в дебаге появляется значения, но не того чего мне надо.
    для того, чтобы увидеть трую, приходиться нажимать на
    [​IMG]
    после чего в самом браузере появляется
    [​IMG]
    и вот если надо все повторить. то приходиться закрывать все вкладки в браузере, просто обновление не помогает.
    потом закрывать в самом шторме....
    Как правильно отлаживать? Может, кто то ведёт блоги и возможно у него есть об этом статья или просто кто то знает где об этом написано ( на русском ).
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    странно, что код не выполняется, если нет ни одной причины выполнять код? пхп компилится налету, не забывайте об этом.
     
  16. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Для меня - это странно!) Точно так же, что теперь мне кажется странным, что я сразу дебаг не настроил.
    Что нужно, чтобы код выполнялся?
    После того, как я хоть капельку настроил отладку, я начал смотреть пример который мне показывали на этом форуме.
    Первая строка и сразу конфуз, я не могу проверить на false\true метод global() в инструкции if. Сложного не чего нет,
    но так как я ещё не одного ифа не делал на php, то мне нужно проверить, что все работает.
    Но при моей отладке это почти не реально...Может Вы знаете ответ?
     
  17. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    пардонте, но что это за метод? )
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    обычно вардамп справляется с 99.99% случаев.

    и можно тупо эхо делать.

    Добавлено спустя 2 минуты 38 секунд:
    читаешь доки/код и смотришь что возвращает

    в пхп есть сравнение == просто сравнивает. Пустая строка, ноль и фалс будут равны.
    а есть === сравнение с проверкой типа. Фалс равен только фалс, пустая строка только пустой строке.

    пиши в скайп igordata
     
  19. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    ошибся - функция glob();
    Вы в будущем ( если я буду, что то спрашивать ) даже не подумайте. что я не посмотрев хелп задаю вопрос.
    Мне куда гораздо интересней, самому найти решение. Просто я не как не выйду из ступора, связанного с отладкой.
    И то ли мне померещилось, то ли нет, но пока я настраивал шторм, мне показалось, что я видел пункты меню -
    обновлять ( дебагер ) автоматически, при изменении.
    И при нажатии на стоп в процессе отладки, закрывать сессию в браузере...есть такое?)
     
  20. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    var_dump-ом посмотри, что же у тебя там возвращается.
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не пользуюсь дебагом. =)
     
  22. hrap

    hrap Новичок

    С нами с:
    25 июн 2013
    Сообщения:
    14
    Симпатии:
    0
    Открыл для себя firephp и возник вопрос - как выводить в консоль шторма сообщения из консоли лиса?)
    ( в настройках консоли есть окно, которое позволяет писать какие то команды... может кто знает, можно ли там может что написать? )
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нафига тебе это всё? =) вардамп дает всю инфу