За последние 24 часа нас посетили 101105 программистов и 5698 роботов. Сейчас ищут 2504 программиста ...

отладка PHP в xdebug

Тема в разделе "PHP для новичков", создана пользователем n0name, 24 мар 2016.

  1. n0name

    n0name Новичок

    С нами с:
    24 мар 2016
    Сообщения:
    4
    Симпатии:
    0
    Добрый день,

    Linux Mint, PHP Version 5.5.9, Xdebug v2.4.0.

    пробую сделать отладку, проблема:
    - отладка останавливается на первой строке (про галочку знаю);
    - по F8 отладка идет до первого останова;
    - после первого останова отладка отваливается и выключается только по terminate

    Код (PHP):
    1. <?
    2. echo "start";   #выводится на экран
    3.  
    4. $curl = curl_init();  #первый брекпоинт
    5. echo $curl;
    6.  
    7. curl_setopt($curl, CURLOPT_URL,"https://www.site.ru/api/v2/id");
    8. curl_setopt($curl, CURLOPT_HEADER, array("Content-Type: application/json"));
    9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    10. curl_setopt($curl, CURLOPT_POSTFIELDS, "<?xml version=\"1.0\" encoding=\"utf-8\"?>");
    11. curl_setopt($curl, CURLOPT_VERBOSE, true);
    12. curl_setopt ($ch, CURLOPT_COOKIE, 'XDEBUG_SESSION=1');
    13.  
    14. $json = curl_exec($curl);
    15.  
    16. $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);  #второй брекпоинт
    17. curl_close($curl);
    18.  
    19. echo $json;       #третий брекпоинт
    20. echo $code;
    21.  
    22. $Response=json_decode($json,true);
    23. echo $Response;
    24.  
    25. echo "end";  #не выводится на экран
    26. ?>
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    А IDE какая?
    Может по этому и подвисает, что ждет, пока придет ответ от curl_exec($curl); строкой выше? А он, быть может, никогда не придет, если запрос кривой или еще что.

    Добавлено спустя 1 минуту 9 секунд:
    У меня все то же самое и работает как часики. Проблема, имхо, не в Хдебаге, а у тебя в алгоритме.
     
  3. n0name

    n0name Новичок

    С нами с:
    24 мар 2016
    Сообщения:
    4
    Симпатии:
    0
    IDE =Eclipse

    вот именно, что код по сути простой, не могу найти ошибку.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Я тебе уже сказал - ты уверен, что скрипт тупо не виснет на ожидании ответа по CURL-у? То есть код-то простой, но если ответ не приходит, то он не приходит. Пошагово трассируй.
     
  5. n0name

    n0name Новичок

    С нами с:
    24 мар 2016
    Сообщения:
    4
    Симпатии:
    0
    может ли вызвать ошибку такая настройка в файле php.ini
    xdebug.idekey = 777

    после отладки в Eclipse указан заголовок
    http://localhost/test/start2.php?XDEBUG_SESSION_STOP_NO_EXE ... 3318836951

    key не совпадает.

    вот весь блок из php.ini
    Код (PHP):
    1. zend_extension = /usr/lib/php5/20121212+lfs/xdebug.so
    2. xdebug.remote_enable=1
    3. xdebug.profiler_output_dir = /home/user/log/access.log
    4. xdebug.remote_log = /home/user/log/access2.log
    5. xdebug.remote_autostart = 0
    6. ;xdebug.remote_host=127.0.0.1
    7. xdebug.remote_port=9000
    8. xdebug.remote_handler=dbgp
    9. xdebug.default_enable = 1
    10. xdebug.idekey = 777
    11. xdebug.extended_info = 1
    12. xdebug.remote_mode = req
    13. xdebug.remote_connect_back = 1
    в Eclipse параметр key я указал в debugger setting-IDE KEY-777
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Но вместо проверки и ответа на этот вопрос, ты гнешь свою линию. Как тот мужик из анекдота, который потерял ночью ключи под забором, но ищет их под фонарным столбом в 100 метрах от того места, где потерял, потому что под столбом светлее.
     
  7. n0name

    n0name Новичок

    С нами с:
    24 мар 2016
    Сообщения:
    4
    Симпатии:
    0
    Привет,
    спасибо за советы, разобрался,
    оказывается у меня не был установлен Curl
    не подумал, что его надо отдельно устанавливать.

    доброго дня!
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    О, ты все-таки решил прислушаться к кому-то кроме себя :)
    Фух.
    Включи вывод ошибок, чтобы пых тебе такие вещи сразу говорил прямым текстом.
     
  9. baltun

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

    С нами с:
    2 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    чтобы быстро и читаемо выводить информацию с помощью var_dump, можно настроить PHPStorm как показано в этом небольшом видео:

     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    чтобы быстро и читаемо выводить информацию с помощью var_dump, можно установить xdebug и получать нормальный раскрашеный вывод