internals:windows:libs

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
aolserverhttp://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.412008-01-19 N/A N/A
apache2handlerhttp://httpd.apache.org/2.0.632008-01-19 Yes N/A
apache2filterhttp://httpd.apache.org/2.0.632008-01-19 Yes N/A
apache2-2handlerhttp://httpd.apache.org/2.2.92008-01-19 Yes N/A
apache2-2filterhttp://httpd.apache.org/2.2.92008-01-19 Yes N/A
apache2-4handlerhttp://httpd.apache.org/2.4.3N/A Yes Yes
apache2-4filterhttp://httpd.apache.org/2.4.3N/A Yes Yes
clibundledN/AN/A Yes Yes
fastcgi/cgibundledN/AN/A Yes Yes
embedbundledN/AN/A Yes Yes
isapiIIS - in Microsoft SDKN/AN/A Yes N/A
nsapihttp://www.sun.com/software/products/web_srvr/home_web_srvr.xmlunknownunknown Yes N/A
pi3webhttp://pi3web.sourceforge.net/2.0.308/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.

Library dependencies

Extensions and their libraries

Extension Library name Project Bundled
bcmath libbcmath http://www.php.net/bcmath Yes
bz2 bzip2 http://www.php.net/bzip2 No
com_donet oleaut32.lib http://www.php.net/com No
curl libcurl http://www.php.net/curl No
date timezonedb http://www.php.net/datetime Yes
dba Berkley DB http://www.php.net/dba No
qdbm http://www.php.net/dba No
libinifile http://www.php.net/dba Yes
libflatfile http://www.php.net/dba Yes
libcdb http://www.php.net/dba Yes
ereg regex N/A Yes
gd libJPEG http://www.php.net/image No
libPNG http://www.php.net/image No
Freetype http://www.php.net/image No
libxpm http://www.php.net/image No
libvpx http://www.php.net/image No
gettext libintl http://www.php.net/gettext No
gmp libgmp or mpir http://www.php.net/gmp No
ibm_db2 ibm_db2 http://www.php.net/ibm_db2 Yes
imap cclient http://www.php.net/imap No
interbase ibase http://www.php.net/interbase No
intl icu http://www.php.net/intl No
pdo_firebird fbclient http://www.php.net/pdo-firebird No
ldap ldap http://www.php.net/ldap No
libsasl http://www.php.net/ldap No
mbstring oniguruma http://www.php.net/ldap Yes
libmbfl N/A Yes
mcrypt libmcrypt http://www.php.net/mcrypt No
mhash libmhash http://www.php.net/mhash No
ming ming http://www.php.net/ming No
mssql freetds http://www.php.net/mssql No
pdo_mysql mysqlnd http://www.php.net/pdo-mysql Yes
libmysql http://www.php.net/pdo-mysql No
mysqli mysqlnd http://www.php.net/mysqli Yes
libmysql http://www.php.net/mysqli No
mysql mysqlnd http://www.php.net/mysql Yes
libmysql http://www.php.net/mysql No
oci8 oci8 http://www.php.net/oci8 Yes
pdo_odbc odbc32.lib http://www.php.net/pdo-odbc No
odbc odbc32.lib http://www.php.net/odbc No
openssl Openssl http://www.php.net/openssl No
pdo_sqlite sqlite http://www.php.net/pdo-sqlite Yes
sqlite sqlite http://www.php.net/sqlite Yes
pgsql/pdo_pgsql libpg http://www.php.net/pdo-pgsql No
pgsql libpg http://www.php.net/pgsql No
pspell aspell http://www.php.net/pspell No
snmp ucd-snmp http://www.php.net/snmp No
tidy tidy http://www.php.net/tidy No
xmlrpc libxmlrpc http://www.php.net/xmlrpc Yes
xsl libxslt http://www.php.net/xsl No

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

1)
as of PHP 7.0.0
2)
as of PHP 8.0.0
internals/windows/libs.txt · Last modified: 2021/12/14 12:19 by cmb