Как отладить POST Atompub, отправленный через cURL в Wordpress на XP + Apache 2.2 + XDebug - PullRequest
2 голосов
/ 15 декабря 2008

Я использую NetBeans в качестве клиента интерактивной отладки XDebug. Но похоже, что он поддерживает подключение отладчиков только к скриптам, которые вызываются через Firefox. Я хочу пройти через скрипт разбора запроса, когда он вызывается через cURL.

Ответы [ 2 ]

2 голосов
/ 15 декабря 2008

Я разобрался с ответом. Сначала я подключил отладчик, щелкнув правой кнопкой мыши по проекту WordPress в NetBeans и выбрав «Отладка». Это откроет блог в Firefox с параметром "XDEBUG_SESSION_START = netbeans-xdebug", включенным в URL (например, "http://localhost/wordpress/?XDEBUG_SESSION_START=netbeans-xdebug").

Затем я вызвал cURL из командной строки, убедившись, что установил cookie с именем / значением XDEBUG_SESSION / netbeans-xdebug:

>curl "http://localhost/wordpress/wp-app.php/posts" -X POST -H "Content-type: application/atom+xml" -v -L -k -u admin:password --data @post_atom_entry_bad.xml -o post_bad_response.txt -b XDEBUG_SESSION=netbeans-xdebug
* About to connect() to localhost port 80 (#0)
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /wordpress/wp-app.php/posts HTTP/1.1
> Authorization: Basic YWRtaW46d2Fuc3Vp
> User-Agent: curl/7.19.1 (i586-pc-mingw32msvc) libcurl/7.19.1 OpenSSL/0.9.8i zlib/1.2.3
> Host: localhost
> Accept: */*
> Cookie: XDEBUG_SESSION=netbeans-xdebug
> Content-type: application/atom+xml
> Content-Length: 302
>
} [data not shown]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   302    0     0    0   302      0     74 --:--:--  0:00:04 --:--:--     0

В этот момент cURL останавливается на точке останова, которую я установил в строке 283 в wp-app.php, AtomParser-> handle_request (), и я могу пройти по коду.

Как только я нажимаю F5 (продолжить), сервер отправляет ответ обратно в cURL:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   302    0     0    0   302      0      2 --:--:--  0:02:17 --:--:--     0< HTTP/1.1 400 Bad Request
< Date: Mon, 15 Dec 2008 17:47:06 GMT
< Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6
< X-Powered-By: PHP/5.2.6
< Content-Length: 0
< Connection: close
< Content-Type: text/plain
<
100   302    0     0    0   302      0      2 --:--:--  0:02:18 --:--:--     0* Closing connection #0


>

Готово. Было бы здорово получить примеры от других клиентов интерактивной отладки, таких как notepad ++.

1 голос
/ 15 декабря 2008

Связанные документы XDebug: http://www.xdebug.org/docs/remote#browser_session

...