как вывести verbose output курла в пхп на экран?

Discussion in 'PHP' started by Дикс, 6 Dec 2010.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    включаю опцию - CURLOPT_VERBOSE => TRUE
    тем не менее, при в выводе ответа curl_exec информации о подключении нет

    зато, если запустить скрипт через консоль - вся информация валится туда

    как её получить в скрипте, запущенном в браузере?
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Дикс внимательно читайте мануал, CURLOPT_VERBOSE пишет туда, куда указывает ресурс из CURLOPT_STDERR. Не уверен, что апач нормально перенаправит данные в STDOUT, поэтому код будет выглядеть так:

    PHP:
    <?PHP
    $f 
    fopen('tmp_name''ab');

    $ch curl_init('http://ya.ru');
    curl_setopt($chCURLOPT_VERBOSEtrue);
    curl_setopt($chCURLOPT_STDERR$f);
    curl_exec($ch);
    fclose($f);
    readfile('tmp_name');
     
    _________________________
  3. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    спасибо
    в файл выводится, а в php://stdout ни в какую
    при этом в консоли STDOUT определена, а в cgi нет
    что же делать
     
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Дикс читайте из файла, в чем проблема? Помнится в ПХП существует специальная функция всегда выдающая уникальное имя файла, чтобы не было конфликтов при доступе. А при завершении скрипта можете удалять созданный файл c помощью unlink()

    http://php.net/tempnam
     
    _________________________
    #4 Gifts, 7 Dec 2010
    Last edited: 7 Dec 2010
  5. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    ну в этом случае надо будет постоянно скачивать файл аяксом, с какой-то немалой скоростью, чтобы выводить на экран актуальный лог

    похоже так и придется делать

    а про tempnam - только сейчас узнал, у меня имя временного файла всегда генерилось моей функцией 'pref_' . as_hlp::getPass() . '.html'. Что для меня удобнее
     
  6. ЕгоАкк

    ЕгоАкк Banned

    Joined:
    21 Sep 2009
    Messages:
    84
    Likes Received:
    18
    Reputations:
    0
    Возможно CURLOPT_DEBUGFUNCTION то, что тебе нужно.
     
  7. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    CURLOPT_DEBUGFUNCTION в пхп не знает такой опции
    к тому же не нашёл нигде ни единого примера коллбэка к ней на php - только С++