Merge pull request #4 from trs998/patch-1
[mdref/mdref-http] / http.md
diff --git a/http.md b/http.md
index d56a04fd7c046cd47a1b31321264b20eb8f034d8..d5924f1df943b20e156816a9e273fb20102b3935 100644 (file)
--- a/http.md
+++ b/http.md
@@ -17,6 +17,50 @@ This extension is hosted at [PECL](http://pecl.php.net) and can be installed wit
 
 ## Dependencies:
 
+pecl/http depends on a number of system libraries and PHP extensions for special features.
+
+#### Required system libraries:
+
+The following system libraries are required to build this extension:
+
+=zlib=
+       Provides gzip/zlib/deflate encoding.  
+       Minimum version: 1.2.0.4  
+       Install on Debian: `apt-get install zlib1g-dev`
+
+
+#### Optional system libraries:
+
+The following system libraries are optional and provide additional features:
+
+=libidn=
+       Provides IDNA support in URLs.  
+       Minimum version: none  
+       Install on Debian: `apt-get install libidn11-dev`
+
+=libidn2=
+       Provides IDNA support in URLs (fallback if libidn is not available).  
+       Minimum version: none  
+       Install on Debian: `apt-get install libidn2-0-dev`
+
+=libicu=
+       Provides IDNA support in URLs (fallback if libidn is not available).  
+       Minimum version: none  
+       Install on Debian: `apt-get install libicu-dev`
+
+=libcurl=
+       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'.
+
+=libevent=
+       Eventloop support for the HTTP client.  
+       Minimum version: none  
+       Install on Debian: `apt-get install libevent-dev`
+
+### PHP extensions:
+
 This extension unconditionally depends on the pre-loaded presence of the following PHP extensions:
 
 * raphf
@@ -24,11 +68,25 @@ This extension unconditionally depends on the pre-loaded presence of the followi
 * spl
 
 
-If configured ```--with-http-shared-deps``` (default) it requires on the pre-loaded presence of the following extensions, as long as they were available at build time:
+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
+* 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
 
 ## Conflicts:
 
@@ -60,3 +118,5 @@ The http extension registers the ```http.*``` namespace for its stream filters.
 Version | Change
 --------|-------
 2.0.4   | Dropped the pecl/event conflict.
+2.4.0   | Dropped the ext/json dependency.
+2.4.2   | Added libidn2 and libicu as fallback for IDNA support.