Libraries Needed to Build on Windows
Libraries are available for download at http://windows.php.net/downloads/php-sdk/ . The sources prepared to be built for PHP are available under https://github.com/winlibs/
Mandatory
Library name | Project | Bundled | 5.3 | 5.4 | 5.5 | master | V9 | V11 |
---|---|---|---|---|---|---|---|---|
bindlib | http://svn.php.net/viewvc/php/bindlib_w32/ | No | Needed only for PHP <= 5.2 or some specific extensions | N/A | N/A | |||
pcre | ext/pcre/pcrelib | Yes | 8.32 | 8.32 | 8.34 | 8.34 | Yes | Yes |
zlib | http://www.zlib.net/ | No | 1.2.7 | 1.2.7 | 1.2.7.3 | 1.2.7.3 | Yes | Yes |
libiconv | http://www.gnu.org/software/libiconv/ | No | 1.14 | 1.14 | 1.14 | 1.14 | Yes | Yes |
libxml2 | http://libxml.org | No | 2.7.8 | 2.7.8 | 2.9.1 | 2.9.1 | Yes | Yes |
ICU | http://icu-project.org | No | 49.1.2 | 49.1.2 | 51.2 | 53.1 | Yes | Yes |
SAPIS
SAPI's are reliant on third party libraries to link against, and since client and server compiler versions should match, these are not distributed by PHP (we are not in the server business)
SAPI | server | version | released | V9 | V11 |
---|---|---|---|---|---|
aolserver | http://aolserver.com/ | N/A | N/A | N/A | N/A |
apache (1.x) | http://httpd.apache.org/ | 1.3.41 | 2008-01-19 | N/A | N/A |
apache_hooks (1.x) | http://httpd.apache.org/ | 1.3.41 | 2008-01-19 | N/A | N/A |
apache2handler | http://httpd.apache.org/ | 2.0.63 | 2008-01-19 | Yes | N/A |
apache2filter | http://httpd.apache.org/ | 2.0.63 | 2008-01-19 | Yes | N/A |
apache2-2handler | http://httpd.apache.org/ | 2.2.9 | 2008-01-19 | Yes | N/A |
apache2-2filter | http://httpd.apache.org/ | 2.2.9 | 2008-01-19 | Yes | N/A |
apache2-4handler | http://httpd.apache.org/ | 2.4.3 | N/A | Yes | Yes |
apache2-4filter | http://httpd.apache.org/ | 2.4.3 | N/A | Yes | Yes |
cli | bundled | N/A | N/A | Yes | Yes |
fastcgi/cgi | bundled | N/A | N/A | Yes | Yes |
embed | bundled | N/A | N/A | Yes | Yes |
isapi | IIS - in Microsoft SDK | N/A | N/A | Yes | N/A |
nsapi | http://www.sun.com/software/products/web_srvr/home_web_srvr.xml | unknown | unknown | Yes | N/A |
pi3web | http://pi3web.sourceforge.net/ | 2.0.3 | 08/2004 | Yes | N/A |
Aolserver does not provide binaries, and so is not currently being built for PHP
Libraries for the core extensions
Libraries are available for download at http://windows.php.net/downloads/php-sdk/
Library name | Project | Bundled | 5.3 | 5.4 | 5.5 | master | VC9 | VC11 |
---|---|---|---|---|---|---|---|---|
bzip2 | https://www.sourceware.org/bzip2/ | No | 1.0.6 | 1.0.6 | 1.0.6 | 1.0.6 | Yes | Yes |
libcurl | http://curl.haxx.se/ | No | 7.36.0 | 7.36.0 | 7.36.0 | 7.36.0 | Yes | Yes |
libssh2 | http://libssh.org/ | No | 1.4.2 | 1.4.2 | 1.4.2 | 1.4.2 | Yes | Yes |
Berkley DB | http://www.oracle.com/database/berkeley-db/index.html | No | not supplied since 5.3 | N/A | N/A | |||
glib | http://developer.gnome.org/glib/ | No | N/A | N/A | 2.34.3 | 2.34.3 | Yes | Yes |
qdbm | http://qdbm.sourceforge.net/ | No | not supplied since 5.3 | N/A | N/A | |||
libJPEG | http://www.ijg.org/ | No | 8d | 8d | 9 | 9 | Yes | Yes |
libPNG | http://libpng.org/pub/png/libpng.html | No | 1.2.50 | 1.2.50 | 1.5.13 | 1.5.13 | Yes | Yes |
Freetype | http://freetype.org | No | 2.4.3 | 2.4.10 | 2.4.10 | 2.4.10 | Yes | Yes |
libxpm | http://cgit.freedesktop.org/xorg/lib/libXpm/ | No | 3.5.7 | 3.5.7 | 3.5.7 | 3.5.7 | Yes | Yes |
libintl | http://www.gnu.org/software/gettext/ | No | N/A | 0.17 | 0.17 | 0.17 | Yes | Yes |
libgmp | http://gmplib.org/ | No | see MPIR | |||||
mpir | http://mpir.org/ | No | 1.3.1 | 2.5.1 | 2.6.0 | 2.6.0 | Yes | Yes |
libpq | http://postgresql.org | No | 8.3.6 | 8.3.6 | 9.2.2 | 9.2.2 | Yes | Yes |
cclient | http://www.washington.edu/imap/ | No | 2007e | 2007e | 2007f | 2007f | Yes | Yes |
ibase | http://info.borland.com/devsupport/interbase/opensource/ | No | replaced by firebird | N/A | N/A | |||
fbclient | http://www.firebirdsql.org/ | No | 2.5.0 | 2.5.0 | 2.5.0 | 2.5.0 | Yes | N/A |
ldap | http://openldap.org | No | 2004 | 2.3.42 | 2.3.42 | 2.3.42 | Yes | Yes |
libmcrypt | http://mcrypt.sourceforge.net/ | No | 2.5.8 | 2.5.8 | 2.5.8 | 2.5.8 | Yes | Yes |
freetds | http://www.freetds.org/ | No | used in PHP <= 5.2 only | Yes | N/A | |||
ming | http://www.libming.org/ | No | 0.3beta1 | N/A | N/A | N/A | Yes | N/A |
mysqlnd | http://php.net | Yes | 5.1.4 | 5.1.4 | 5.1.4 | 5.1.4 | Yes | N/A |
libmysql | http://mysql.com/ | No | 5.0.51a | N/A | N/A | N/A | Yes | N/A |
Openssl | http://openssl.org | No | 0.9.8x | 0.9.8x | 1.0.1e | 1.0.1e | Yes | Yes |
aspell | http://aspell.net/ | No | replaced by ext/enchant | N/A | N/A | |||
ucd-snmp | http://www.net-snmp.org/ | No | 4.2.3 | 4.2.3 | 5.7.2 | 5.7.2 | Yes | Yes |
tidy | http://tidy.sourceforge.net/ | No | 2007/08/15 | 2009/03/25 | 2009/03/25 | 2009/03/25 | Yes | Yes |
libxslt | http://libxml.org | No | 1.1.27 | 1.1.27 | 1.1.27 | 1.1.27 | Yes | Yes |
libmhash | http://mhash.sourceforge.net/ | No | replaced by ext/hash in PHP >= 5.3 | N/A | N/A | |||
odbc32.lib | http://en.wikipedia.org/wiki/Microsoft_Windows_SDK | No | N/A | N/A | N/A | N/A | Yes | Yes |
oleaut32.lib | http://en.wikipedia.org/wiki/Microsoft_Windows_SDK | No | N/A | N/A | N/A | N/A | Yes | Yes |
libbcmath | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
libinifile | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
libflatfile | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
libcdb | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
regex | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
oniguruma | http://www.geocities.jp/kosako3/oniguruma/ | Yes | 4.4.4 | 4.7.1 | 5.9.2 | 5.9.2 | Yes | Yes |
libmbfl | N/A | Yes | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | Yes | N/A |
libxmlrpc | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
sqlite2 | http://www.sqlite.org/ | Yes | 2.8.17 | 2.8.17 | 2.8.17 | 2.8.17 | Yes | Yes |
sqlite3 | http://www.sqlite.org/ | Yes | 3.7.7.1 | 3.7.7.1 | 3.7.7.1 | 3.7.7.1 | Yes | Yes |
tmezonedb | ftp://elsie.nci.nih.gov/pub/ | Yes | N/A | N/A | N/A | N/A | Yes | Yes |
libvpx | http://www.webmproject.org/code/ | No | N/A | N/A | 1.1.0 | 1.1.0 | Yes | Yes |
libsasl | http://asg.web.cmu.edu/sasl/sasl-library.html | No | N/A | N/A | 2.1.25 | 2.1.25 | Yes | Yes |
enchant | http://www.abisource.com/projects/enchant/ | No | N/A | N/A | 1.6.0 | 1.6.0 | Yes | Yes |
Libraries used by our windows ports of the different libraries (not when building only php)
Libraries are available for download at http://windows.php.net/downloads/php-sdk/
Library name | Project | Bundled | 5.3 | 5.4 | 5.5 | master | VC9 | VC11 |
---|---|---|---|---|---|---|---|---|
dirent | http://windows.php.net/downloads/php-sdk/ | No | 20080629 | 20080629 | 20080629 | 20080629 | Yes | Yes |
Third Party Libraries
Third party libraries are not available in our repositories. The reason are the miscellaneous restricted licenses and non open sources code. However, we are authorized to distribute them with our PHP releases but not their SDK.
- ibm_db2 - ibm_db2
- msql - Mini SQL
- mssql/pdo_dblib - ntwdblib, only available with Microsoft SQL Server 2000 or earlier
- oci8/pdo_oci - oracle
- sybase_ct - Sybase Adaptive Server Enterprise
Library dependencies
Extensions and their libraries
Extensions using mandatory libs
- dom
- iconv
- libxml
- pcre
- simplexml
- soap
- xml
- xmlreader
- xmlwriter
- zlib
- zip
Extensions not needing libraries
- calendar
- ctype
- dbase
- filter
- ftp
- json
- mime-magic (does require file set in ini)
- pcntl (currently not available on windows)
- pdo (core)
- phar (although it does depend on other extensions)
- posix (never available on windows)
- recode (library not available on windows)
- readline (library not available on Windows)
- session
- shmop
- skeleton
- sockets
- spl
- standard
- sybase (old old not available on windows)
- sysvmsg (currently not available on windows)
- sysvsem (currently not available on windows)
- sysvshm (currently not available on windows)
- tokenizer
- wddx
PECL Extensions
General Compiling Guidelines
Any makefiles, project files, source, .rc files - basically anything used to compile a library for PHP should be bundled into a source distribution.
dlls should have a .rc file with a minimum of the version and compiler used
Because windows doesn't differentiate between static libs and dll stub libs (both end in .lib) use a _a suffix for a static lib (libxml2_a.lib)
Any debug version of a library or dll should have a _debug suffix