====== 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 ^ | [[internals:windows:libs:bindlib]] | [[http://svn.php.net/viewvc/php/bindlib_w32/|]] | No | Needed only for PHP <= 5.2 or some specific extensions |||| N/A | N/A | | [[internals:windows:libs:pcre]] | [[http://git.php.net/?p=php-src.git;a=tree;f=ext/pcre/pcrelib;h=17d65a9d5c545a3287f7c1e8f1ec9b8d3c5ac10c;hb=HEAD|ext/pcre/pcrelib]] | Yes | 8.32 | 8.32 | 8.34 | 8.34 | Yes | Yes | | [[internals:windows:libs:zlib]] | [[http://www.zlib.net/|]] | No | 1.2.7 | 1.2.7 | 1.2.7.3 | 1.2.7.3 | Yes | Yes | | [[internals:windows:libs:libiconv]] | [[http://www.gnu.org/software/libiconv/|]] | No | 1.14 | 1.14 | 1.14 | 1.14 | Yes | Yes | | [[internals:windows:libs:libxml2 ]] | [[http://libxml.org|]] | No | 2.7.8 | 2.7.8 | 2.9.1 | 2.9.1 | Yes | Yes | | [[internals:windows:libs: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 | |[[internals/windows/libs/apache22|apache2-2handler]]|[[http://httpd.apache.org/]]|2.2.9|2008-01-19| Yes | N/A | |[[internals/windows/libs/apache22|apache2-2filter]]|[[http://httpd.apache.org/]]|2.2.9|2008-01-19| Yes | N/A | |[[internals/windows/libs/apache24|apache2-4handler]]|[[http://httpd.apache.org/]]|2.4.3|N/A| Yes | Yes | |[[internals/windows/libs/apache24|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 ^ | [[internals:windows:libs:bzip2|bzip2]] | [[https://www.sourceware.org/bzip2/|]] | No | 1.0.6 | 1.0.6 | 1.0.6 | 1.0.6 | Yes | Yes | | [[internals:windows:libs:libcurl|libcurl]] | [[http://curl.haxx.se/|]] | No | 7.36.0 | 7.36.0 | 7.36.0 | 7.36.0 | Yes | Yes | | [[internals:windows:libs:libssh2|libssh2]] | [[http://libssh.org/|]] | No | 1.4.2 | 1.4.2 | 1.4.2 | 1.4.2 | Yes | Yes | | [[internals:windows:libs:dba|Berkley DB]] | [[http://www.oracle.com/database/berkeley-db/index.html|]] | No | not supplied since 5.3 |||| N/A | N/A | | [[internals:windows:libs:glib|glib]] | http://developer.gnome.org/glib/ | No | N/A | N/A | 2.34.3 | 2.34.3| Yes | Yes | | [[internals:windows:libs:qdbm|qdbm]] | [[http://qdbm.sourceforge.net/|]] | No | not supplied since 5.3 |||| N/A | N/A | | [[internals:windows:libs:libjpeg|libJPEG]] | [[http://www.ijg.org/|]] | No | 8d | 8d | 9 | 9 | Yes | Yes | | [[internals:windows:libs:libpng|libPNG]] | [[http://libpng.org/pub/png/libpng.html |]] | No | 1.2.50 | 1.2.50 | 1.5.13 | 1.5.13 | Yes | Yes | | [[internals:windows:libs:freetype|Freetype]] | [[http://freetype.org |]] | No | 2.4.3 | 2.4.10 | 2.4.10 | 2.4.10 | Yes | Yes | | [[internals:windows:libs:libxmp|libxpm]] | [[http://cgit.freedesktop.org/xorg/lib/libXpm/|]] | No | 3.5.7 | 3.5.7 | 3.5.7 | 3.5.7 | Yes | Yes | | [[internals:windows:libs:gettext| libintl]] | [[http://www.gnu.org/software/gettext/|]] | No | N/A | 0.17 | 0.17 | 0.17 | Yes | Yes | | [[internals:windows:libs:gmp| libgmp]] | [[http://gmplib.org/|]] | No | see MPIR |||||| | [[internals:windows:libs:mpir| mpir]] | [[http://mpir.org/|]] | No | 1.3.1 | 2.5.1 | 2.6.0 | 2.6.0 | Yes | Yes | | [[internals:windows:libs:libpg|libpq]] | [[http://postgresql.org|]] | No | 8.3.6 | 8.3.6 | 9.2.2 | 9.2.2 | Yes | Yes | | [[internals:windows:libs:cclient|cclient]] | [[http://www.washington.edu/imap/|]] | No | 2007e | 2007e | 2007f | 2007f | Yes | Yes | | [[internals:windows:libs:interbase|ibase]] | [[http://info.borland.com/devsupport/interbase/opensource/|]] | No | replaced by firebird |||| N/A | N/A | | [[internals:windows:libs:firebird|fbclient]] | [[http://www.firebirdsql.org/|]] | No | 2.5.0 | 2.5.0 | 2.5.0 | 2.5.0 | Yes | N/A | | [[internals:windows:libs:ldap|ldap]] | [[http://openldap.org|]] | No | 2004 | 2.3.42 | 2.3.42 | 2.3.42 | Yes | Yes | | [[internals:windows:libs:libmcrypt|libmcrypt]] | [[http://mcrypt.sourceforge.net/|]] | No | 2.5.8 | 2.5.8 | 2.5.8 | 2.5.8 | Yes | Yes | | [[internals:windows:libs:freetds|freetds]] | [[http://www.freetds.org/|]] | No | used in PHP <= 5.2 only |||| Yes | N/A | | [[internals:windows:libs:ming|ming]] | [[http://www.libming.org/|]] | No | 0.3beta1 | N/A | N/A | N/A | Yes | N/A | | [[internals:windows:libs:mysqlnd ]] | [[http://php.net|]] | Yes | 5.1.4 | 5.1.4 | 5.1.4 | 5.1.4 | Yes | N/A | | [[internals:windows:libs:libmysql]] | [[http://mysql.com/|]] | No| 5.0.51a | N/A | N/A | N/A | Yes | N/A | | [[internals:windows:libs:openssl|Openssl]] | [[http://openssl.org |]] | No | 0.9.8x | 0.9.8x | 1.0.1e | 1.0.1e | Yes | Yes | | [[internals:windows:libs:aspell|aspell]] | [[http://aspell.net/|]] | No | replaced by ext/enchant |||| N/A | N/A | | [[internals:windows:libs:smnp|ucd-snmp]] | [[http://www.net-snmp.org/|]] | No | 4.2.3 | 4.2.3 | 5.7.2 | 5.7.2 | Yes | Yes | | [[internals:windows:libs:tidy|tidy]] | [[http://tidy.sourceforge.net/|]] | No | 2007/08/15 | 2009/03/25 | 2009/03/25 | 2009/03/25 | Yes | Yes | | [[internals:windows:libs:libxslt|libxslt]] | [[http://libxml.org|]] | No | 1.1.27 | 1.1.27 | 1.1.27 | 1.1.27 | Yes | Yes | | [[internals:windows:libs:libmhash|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 | | [[internals:windows:libs:sqlite|sqlite2]] | [[http://www.sqlite.org/|]] | Yes | 2.8.17 | 2.8.17 | 2.8.17 | 2.8.17 | Yes | Yes | | [[internals:windows:libs:sqlite|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 | | [[internals:windows:libs:libvpx|libvpx]] | [[http://www.webmproject.org/code/]] | No | N/A | N/A | 1.1.0 | 1.1.0 | Yes | Yes | | [[internals:windows:libs:libsasl|libsasl]] | [[http://asg.web.cmu.edu/sasl/sasl-library.html]] | No | N/A | N/A | 2.1.25 | 2.1.25 | Yes | Yes | | [[internals:windows:libs:enchant|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 ^ | [[internals:windows:libs:dirent|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 - [[internals:windows:libs:ibm_db2| ibm_db2]] * msql - [[http://www.hughes.com.au/ | Mini SQL]] * mssql/pdo_dblib - ntwdblib, only available with Microsoft SQL Server 2000 or earlier * oci8/pdo_oci - [[internals:windows:libs:oracle| oracle]] * sybase_ct - [[http://www.sybase.com/products/databasemanagement/adaptiveserverenterprise | Sybase Adaptive Server Enterprise]] ===== Library dependencies ===== ^ Library ^ Deps ^ | [[internals:windows:libs:libxml2|libxml2]] | [[internals:windows:libs:libiconv|libiconv]] | | [[internals:windows:libs:libxslt|libxslt]] | [[internals:windows:libs:libxml2|libxml2]], [[internals:windows:libs:libiconv|libiconv]] | | [[internals:windows:libs:libcurl|libcurl]] | [[internals:windows:libs:libssh2|libssh2]], [[internals:windows:libs:openssl|openssl]], [[internals:windows:libs:zlib|zlib]] [[internals:windows:libs:nghttp2|nghttp2]]((as of PHP 7.0.0)) | | [[internals:windows:libs:libssh2|libssh2]] | [[internals:windows:libs:openssl|openssl]], [[internals:windows:libs:zlib|zlib]] | | [[internals:windows:libs:libpng|libpng]] | [[internals:windows:libs:zlib|zlib]] | | [[internals:windows:libs:libpg|libpq]] | [[internals:windows:libs:openssl|openssl]] | | [[internals:windows:libs:libmcrypt|libmcrypt]] | [[internals:windows:libs:dirent|dirent]] | | [[internals:windows:libs:smnp|snmp]] | [[internals:windows:libs:openssl|openssl]] | | [[internals:windows:libs:ldap|ldap]] | [[internals:windows:libs:openssl|openssl]], [[internals:windows:libs:libsasl|libsasl]] | | [[internals:windows:libs:glib|glib]] | [[internals:windows:libs:gettext|libintl]], [[internals:windows:libs:libffi|libffi]], [[internals:windows:libs:zlib|zlib]] | | [[internals:windows:libs:enchant|enchant]] | [[internals:windows:libs:glib|glib]] | | [[internals:windows:libs:libsasl|libsasl]] | [[internals:windows:libs:openssl|openssl]], [[internals:windows:libs:sqlite|sqlite3]], [[internals:windows:libs:lmdb|lmdb]] | | libzip | [[internals:windows:libs:zlib|zlib]], [[internals:windows:libs:bzip2|bzip2]], [[internals:windows:libs:liblzma|lzma]]((as of PHP 8.0.0)) | ===== Extensions and their libraries ===== ^Extension ^ Library name ^ Project ^ Bundled ^ | bcmath | libbcmath | [[http://www.php.net/bcmath|]] | Yes | | bz2 | [[internals:windows:libs:bzip2|bzip2]] | [[http://www.php.net/bzip2|]] | No | | com_donet | oleaut32.lib | [[http://www.php.net/com|]] | No | | curl | [[internals:windows:libs:libcurl|libcurl]] | [[http://www.php.net/curl|]] | No | | date | timezonedb | [[http://www.php.net/datetime|]] | Yes | | dba | [[internals:windows:libs:dba|Berkley DB]] | [[http://www.php.net/dba|]] | No | | | [[internals:windows:libs:qdbm|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 | [[internals:windows:libs:libjpeg|libJPEG]] | [[http://www.php.net/image|]] | No | | | [[internals:windows:libs:libpng|libPNG]] | [[http://www.php.net/image|]] | No | | | [[internals:windows:libs:freetype|Freetype]] | [[http://www.php.net/image|]] | No | | | [[internals:windows:libs:libxpm|libxpm]] | [[http://www.php.net/image|]] | No | | | [[internals:windows:libs:libvpx|libvpx]] | [[http://www.php.net/image|]] | No | | gettext | [[internals:windows:libs:gettext| libintl]] | [[http://www.php.net/gettext|]] | No | | gmp| [[internals:windows:libs:gmp| libgmp]] or [[internals:windows:libs:mpir| mpir]] | [[http://www.php.net/gmp|]] | No | | ibm_db2| [[internals:windows:libs:ibm_db2|ibm_db2]] | [[http://www.php.net/ibm_db2|]] | Yes | | imap | [[internals:windows:libs:cclient|cclient]] | [[http://www.php.net/imap|]] | No | | interbase | [[internals:windows:libs:interbase|ibase]] | [[http://www.php.net/interbase|]] | No | | intl| [[internals:windows:libs:icu|icu]] | [[http://www.php.net/intl|]] | No | | pdo_firebird | [[internals:windows:libs:firebird|fbclient]] | [[http://www.php.net/pdo-firebird|]] | No | | ldap | [[internals:windows:libs:ldap|ldap]] | [[http://www.php.net/ldap|]] | No | | | [[internals:windows:libsasl:libsasl|libsasl]] | [[http://www.php.net/ldap|]] | No | | mbstring| oniguruma| [[http://www.php.net/ldap|]] | Yes | | | libmbfl | N/A | Yes | | mcrypt | [[internals:windows:libs:libmcrypt|libmcrypt]] | [[http://www.php.net/mcrypt|]] | No | | mhash | [[internals:windows:libs:libmhash|libmhash]] | [[http://www.php.net/mhash|]] | No | | ming| [[internals:windows:libs:ming|ming]] | [[http://www.php.net/ming|]] | No | | mssql | [[internals:windows:libs:freetds|freetds]] | [[http://www.php.net/mssql|]] | No | | pdo_mysql | [[internals:windows:libs:mysqlnd ]] | [[http://www.php.net/pdo-mysql|]] | Yes | | | [[internals:windows:libs:libmysql]] | [[http://www.php.net/pdo-mysql|]] | No| | mysqli | [[internals:windows:libs:mysqlnd ]] | [[http://www.php.net/mysqli|]] | Yes | | | [[internals:windows:libs:libmysql]] | [[http://www.php.net/mysqli|]] | No | | mysql | [[internals:windows:libs:mysqlnd ]] | [[http://www.php.net/mysql|]] | Yes | | | [[internals:windows:libs:libmysql]] | [[http://www.php.net/mysql|]] | No | | oci8 | [[internals:windows:libs: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 | [[internals:windows:libs:openssl|Openssl]] | [[http://www.php.net/openssl|]] | No | | pdo_sqlite | [[internals:windows:libs:sqlite|sqlite]] | [[http://www.php.net/pdo-sqlite|]] | Yes | | sqlite | [[internals:windows:libs:sqlite|sqlite]] | [[http://www.php.net/sqlite|]] | Yes | | pgsql/pdo_pgsql | [[internals:windows:libs:libpg|libpg]] | [[http://www.php.net/pdo-pgsql|]] | No | | pgsql | [[internals:windows:libs:libpg|libpg]] | [[http://www.php.net/pgsql|]] | No | | pspell | [[internals:windows:libs:aspell|aspell]] | [[http://www.php.net/pspell|]] | No | | snmp | [[internals:windows:libs:smnp|ucd-snmp]] | [[http://www.php.net/snmp|]] | No | | tidy | [[internals:windows:libs:tidy|tidy]] | [[http://www.php.net/tidy|]] | No | | xmlrpc| libxmlrpc | [[http://www.php.net/xmlrpc|]]| Yes | | xsl | [[internals:windows:libs:libxslt|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 ===== * [[https://github.com/winlibs/winlib-builder/blob/master/.github/workflows/imagemagick.yml|ImageMagick]] * [[internals:windows:libs:libcouchbase|libcouchbase]] * [[internals:windows:libs:openblas|OpenBLAS]] ===== 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