The HTTP extension for PHP aims to provide a convenient and powerful set of functionality for one of PHP's major applications. It eases handling of HTTP URLs, dates, redirects, headers, and messages, provides means for negotiation of clients' preferred language and charset, as well as a convenient way to send any arbitrary data with caching and resuming capabilities. It provides powerful request functionality if built with CURL support. Parallel requests are available for PHP 5 and greater.
| Tags | Software Development Libraries php classes Internet Web |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | OS Independent |
| Implementation | C |
Recent releases


Changes: The generic http_negotiate() function was added. The proxytunnel and noproxy request options were added. The proxytunnel option enables tunelling through the HTTP proxy. The noproxy option is a comma separated list of hosts for which a proxy should not be used. The following postredir request option constants were added: HTTP_POSTREDIR_301, HTTP_POSTREDIR_302, HTTP_POSTREDIR_ALL. The HTTP_AUTH_DIGEST_IE authtype request option constant was added. The HTTP_PROXY_HTTP_1_0 proxytype request option constant was added. The condition_unmet request info member was added.


Changes: A Last-Modified caching bug in the http_send API was fixed. A bug with HttpRequestPool and libevent when adding requests while running was fixed. A memory leak in HttpResponse::getStream() was fixed. A PHP crash after casting a scalar argument to an array in HttpQueryString was fixed. A bug in which http_redirect would fail with url->port==0 was fixed.


Changes: This release fixes the PHP5.1 build. It fixes http_get_request_body[_stream]() with FastCGI SAPI.


Changes: This release fixes PHP4 building, a PHP 5.3 issue in the negotiation API, HttpMessage::toMessageTypeObject() not honoring non-string arguments, memory leaks and unterminated string issues with HttpMessage, bug #16577 (a typo in http_request_object.c (HttpRequest::addBody)), and bug #16700 (child classes of HttpMessage cannot lack array properties).


Changes: This release fixes bug #15495 (HttpMessage::setHttpVersion segfault), bug #15497 (HttpInflateStream::finish segfault), bug #15499 (HttpRequest::addHeaders segfault), bug #15509 (HttpMessage::rewind memory leaks), bug #15800 (Double free when zval is separated in convert_to_*), and bug #15813 (Requests not removed from multi stack when fatal errors occur with fcgi).