After installing PHP and a web server on Windows, you will probably want to install some extensions for added functionality. You can choose which extensions you would like to load when PHP starts by modifying your php.ini. You can also load a module dynamically in your script using dl().
The DLLs for PHP extensions are prefixed with php_.
Many extensions are built into the Windows version of PHP. This means additional DLL files, and the extension directive, are not used to load these extensions. The Windows PHP Extensions table lists extensions that require, or used to require, additional PHP DLL files. Here's a list of built in extensions (updated PHP 5.0.4): BCMath, Caledar, COM, Ctype, DOM, FTP, LibXML, Iconv, ODBC, PCRE, Session, SimpleXML, SPL, SQLite, WDDX, XML and Zlib.
The default location PHP searches for extensions is C:\php5. To change this setting to reflect your setup of PHP edit your php.ini file:
You will need to change the extension_dir setting to point to the directory where your extensions lives, or where you have placed your php_*.dll files. For example:
extension_dir = C:\php\extensions
Enable the extension(s) in php.ini you want to use by uncommenting the extension=php_*.dll lines in php.ini. This is done by deleting the leading ; from the extension you want to load.
Example #1 Enable Bzip2 extension for PHP-Windows
// change the following line from ... ;extension=php_bz2.dll // ... to extension=php_bz2.dll
Some of the extensions need extra DLLs to work. Couple of them can be found in the distribution package, in the main folder, but some, for example Oracle (php_oci8.dll) require DLLs which are not bundled with the distribution package. Don't forget to include C:\php in the system PATH (this process is explained in a separate FAQ entry).
Some of these DLLs are not bundled with the PHP distribution. See each extensions documentation page for details. Also, read the manual section titled Installation of PECL extensions for details on PECL. An increasingly large number of PHP extensions are found in PECL, and these extensions require a separate download.
Note: If you are running a server module version of PHP remember to restart your web server to reflect your changes to php.ini.
The following table describes some of the extensions available and required additional dlls.
|php_bz2.dll||bzip2 compression functions||None|
|php_calendar.dll||Calendar conversion functions||None|
|php_ctype.dll||ctype family functions||None|
|php_curl.dll||CURL, Client URL library functions||Requires: libeay32.dll, ssleay32.dll (bundled)|
|php_dba.dll||DBA: DataBase (dbm-style) Abstraction layer functions||None|
|php_exif.dll||EXIF functions||php_mbstring.dll. And, php_exif.dll must be loaded after php_mbstring.dll in php.ini.|
|php_fdf.dll||FDF: Forms Data Format functions.||Requires: fdftk.dll (bundled)|
|php_filepro.dll||filePro functions||Read-only access|
|php_gd2.dll||GD library image functions||GD2|
|php_gettext.dll||Gettext functions||PHP <= 4.2.0 requires gnu_gettext.dll (bundled), PHP >= 4.2.3 requires libintl-1.dll, iconv.dll (bundled).|
|php_iconv.dll||ICONV characterset conversion||Requires: iconv-1.3.dll (bundled), iconv.dll|
|php_ifx.dll||Informix functions||Requires: Informix libraries|
|php_iisfunc.dll||IIS management functions||None|
|php_imap.dll||IMAP POP3 and NNTP functions||None|
|php_ingres.dll||Ingres functions||Requires: Ingres libraries|
|php_interbase.dll||InterBase functions||Requires: gds32.dll (bundled)|
|php_ldap.dll||LDAP functions||Requires libeay32.dll, ssleay32.dll (bundled)|
|php_mbstring.dll||Multi-Byte String functions||None|
|php_mcrypt.dll||Mcrypt Encryption functions||Requires: libmcrypt.dll|
|php_mhash.dll||Mhash functions||Requires: libmhash.dll (bundled)|
|php_mime_magic.dll||Mimetype functions||Requires: magic.mime (bundled)|
|php_ming.dll||Ming functions for Flash||None|
|php_msql.dll||mSQL functions||Requires: msql.dll (bundled)|
|php_mssql.dll||MSSQL functions||Requires: ntwdblib.dll (bundled)|
|php_mysql.dll||MySQL functions||Requires libmysql.dll (bundled)|
|php_mysqli.dll||MySQLi functions||Requires libmysql.dll (libmysqli.dll in PHP <= 5.0.2) (bundled)|
|php_oci8.dll||Oracle 8 functions||Requires: Oracle 8.1+ client libraries|
|php_openssl.dll||OpenSSL functions||Requires: libeay32.dll (bundled)|
|php_shmop.dll||Shared Memory functions||None|
|php_snmp.dll||SNMP get and walk functions||NT only!|
|php_sybase_ct.dll||Sybase functions||Requires: Sybase client libraries|
|php_xmlrpc.dll||XML-RPC functions||Requires: iconv.dll (bundled)|
|php_xslt.dll||XSLT functions||Requires sablot.dll, expat.dll, iconv.dll (bundled).|
|php_yaz.dll||YAZ functions||Requires: yaz.dll (bundled)|
|php_zip.dll||Zip File functions||Read only access|
|php_zlib.dll||ZLib compression functions||None|