Extended HTTP support. Again.
- Introduces the http namespace.
- PHP stream based message bodies.
- Encapsulated env request/response.
- Modular client support.
This extension is hosted at PECL and can be installed with PEAR's pecl command:
# pecl install pecl_http
pecl/http depends on a number of system libraries and PHP extensions for special features.
The following system libraries are required to build this extension:
Provides gzip/zlib/deflate encoding.
Minimum version: 1.2.0.4
Install on Debian: apt-get install zlib1g-dev
The following system libraries are optional and provide additional features:
Provides IDNA support in URLs.
Minimum version: none
Install on Debian: apt-get install libidn11-dev
Provides IDNA support in URLs (fallback if libidn is not available).
Minimum version: none
Install on Debian: apt-get install libidn2-0-dev
Provides IDNA support in URLs (fallback if libidn is not available).
Minimum version: none
Install on Debian: apt-get install libicu-dev
Provides HTTP request functionality.
Minimum version: 7.18.2
Install on Debian: apt-get install libcurl4-openssl-dev
Note: There are usually different styles of SSL support for libcurl available, so you can replace 'openssl' in the above command f.e. with 'nss' or 'gnutls'.
Eventloop support for the HTTP client.
Minimum version: none
Install on Debian: apt-get install libevent-dev
This extension unconditionally depends on the pre-loaded presence of the following PHP extensions:
If configured --with-http-shared-deps
(default) it depends on the pre-loaded presence of the following extensions, as long as they were available at build time:
- hash
- iconv
- json (only until < 2.4.0)
Please ensure that all extension on which pecl/http depends, are loaded before it, e.g in your php.ini
:
; obligatory deps
extension = raphf.so
extension = propro.so
; if shared deps were enabled
extension = hash.so
extension = iconv.so
extension = json.so
; finally load pecl/http
extension = http.so
pecl/http-v2 conflicts with the following extensions:
- http-v1
- event (only until <= 2.0.3)
- http.etag.mode = "crc32b"
Default hash method for dynamic response payloads to generate an ETag.
The http extension registers the http.*
namespace for its stream filters. Provided stream filters are:
- http.chunked_decode
Decode a stream encoded with chunked transfer encoding. - http.chunked_encode
Encode a stream with chunked transfer encoding. - http.inflate
Decode a stream encoded with deflate/zlib/gzip encoding. - http.deflate
Encode a stream with deflate/zlib/gzip encoding.
Documentation is available at https://mdref.m6w6.name/http