|
|
 |
After installing PHP and a webserver 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:
In PHP 4 (updated PHP 4.3.11):
BCMath,
Caledar,
COM,
Ctype,
FTP,
MySQL,
ODBC,
Overload,
PCRE,
Session,
Tokenizer,
WDDX,
XML and
Zlib
In PHP 5 (updated PHP 5.0.4), the following changes exist. Built in:
DOM,
LibXML,
Iconv,
SimpleXML,
SPL and
SQLite.
And the following are no longer built in:
MySQL and
Overload.
The default location PHP searches for extensions is
c:\php4\extensions in PHP 4 and
c:\php5 in PHP 5. 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. Please do not
forget the last backslash. For example:
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 6-8. 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
C:\php\dlls\ folder in PHP 4 or
in the main folder in PHP 5, but some, for example Oracle
(php_oci8.dll) require DLLs which are not bundled
with the distribution package. If you are installing PHP 4, copy the
bundled DLLs from C:\php\dlls
folder to the main C:\php
folder. 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 webserver to reflect your changes to php.ini.
The following table describes some of the extensions available and required
additional dlls.
Table 6-1. PHP Extensions | Extension | Description | Notes |
|---|
| php_bz2.dll | bzip2 compression functions | None | | php_calendar.dll | Calendar conversion functions | Built in since PHP 4.0.3 | | php_cpdf.dll | ClibPDF functions | None | | php_crack.dll | Crack functions | None | | php_ctype.dll | ctype family functions | Built in since PHP 4.3.0 | | php_curl.dll | CURL, Client URL library functions | Requires: libeay32.dll,
ssleay32.dll (bundled) | | php_cybercash.dll | Cybercash payment functions | PHP <= 4.2.0 | | php_db.dll | DBM functions | Deprecated. Use DBA instead (php_dba.dll) | | php_dba.dll | DBA: DataBase (dbm-style)
Abstraction layer functions | None | | php_dbase.dll | dBase functions | None | | php_dbx.dll | dbx functions | | | php_domxml.dll | DOM XML functions |
PHP <= 4.2.0 requires: libxml2.dll (bundled)
PHP >= 4.3.0 requires: iconv.dll (bundled)
| | php_dotnet.dll | .NET functions | PHP <= 4.1.1 | | php_exif.dll | EXIF functions |
php_mbstring.dll. And,
php_exif.dll must be loaded after
php_mbstring.dll in php.ini.
| | php_fbsql.dll | FrontBase functions | PHP <= 4.2.0 | | php_fdf.dll | FDF: Forms Data Format functions. | Requires: fdftk.dll (bundled) | | php_filepro.dll | filePro functions | Read-only access | | php_ftp.dll | FTP functions | Built-in since PHP 4.0.3 | | php_gd.dll | GD library image functions |
Removed in PHP 4.3.2. Also note that truecolor functions are not
available in GD1, instead, use php_gd2.dll.
| | 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_hyperwave.dll | HyperWave functions | None | | php_iconv.dll | ICONV characterset conversion | Requires: iconv-1.3.dll (bundled),
PHP >=4.2.1 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 II functions | Requires: Ingres II libraries | | php_interbase.dll | InterBase functions | Requires: gds32.dll (bundled) | | php_java.dll | Java functions | PHP <= 4.0.6 requires: jvm.dll (bundled) | | php_ldap.dll | LDAP functions |
PHP <= 4.2.0 requires libsasl.dll (bundled),
PHP >= 4.3.0 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 | PHP >= 4.3.0 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 | PHP >= 5.0.0, requires libmysql.dll
(bundled) | | php_mysqli.dll | MySQLi functions | PHP >= 5.0.0, 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_oracle.dll | Oracle functions | Requires: Oracle 7 client libraries | | php_overload.dll | Object overloading functions | Built in since PHP 4.3.0 | | php_pdf.dll | PDF functions | None | | php_pgsql.dll | PostgreSQL functions | None | | php_printer.dll | Printer functions | None | | php_shmop.dll | Shared Memory functions | None | | php_snmp.dll | SNMP get and walk functions | NT only! | | php_soap.dll | SOAP functions | PHP >= 5.0.0 | | php_sockets.dll | Socket functions | None | | php_sybase_ct.dll | Sybase functions | Requires: Sybase client libraries | | php_tidy.dll | Tidy functions | PHP >= 5.0.0 | | php_tokenizer.dll | Tokenizer functions | Built in since PHP 4.3.0 | | php_w32api.dll | W32api functions | None | | php_xmlrpc.dll | XML-RPC functions | PHP >= 4.2.1 requires: iconv.dll (bundled) | | php_xslt.dll | XSLT functions |
PHP <= 4.2.0 requires sablot.dll,
expat.dll (bundled). PHP >= 4.2.1 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 | Built in since PHP 4.3.0 |
User Contributed Notes
Installation of extensions on Windows
fight4freedom2-live at yahoo dot com
07-Feb-2005 03:51
If you've run other versions of PHP in the past and are having trouble upgrading to PHP5, particularly in loading the dynamic link library 'php_mysql.dll' (despite following all the guidance in this documentation), try the following:
1.) REMOVE old copies of 'libmysql.dll' from your WINDOWS and WINDOWS\system32 folders (check BOTH places).
2.) Verify that your System Path is correctly configured to search the 'C:\PHP5' and 'C:\PHP5\ext'. To do this on WinXP, go to your Control Panel, open System, click Advanced tab, click on Environment Variables, under (lower pane) 'System variables', select 'Path', and then click Edit. Your system path should look something like:
%SystemRoot%\system32;%SystemRoot%; C:\Program Files\MySQL\MySQL Server 4.1\bin;C:\PHP5;C:\PHP5\ext;
Because the system path checks the Windows and System32 folders for dll's *before* checking the PHP folder, old copies of php_mysql.dll will load up first and foul your PHP initialization if you don't remove them.
05-Nov-2004 11:57
Apache2, php5 on Windows XP:
it seems that the trailing backslash has to be removed (though the manual recommends to include it):
The following doesnt' work...
extension_dir = C:/php/502/ext/
This way it's all ok:
extension_dir = C:/php/502/ext
HTH :)
sopp_ladios at hotmail dot com
19-Aug-2004 11:35
[editor note: this should be fixed in PHP 5.1.0]
The order of the extensions listed in php.ini is causing problems... one must check that a particular extension A is enabled and above extension B if B requires A to be enabled.
The original ordering doesnt make sure that this always happens (ie, A is above B)
I came into this problem when I tried to enable the exif extension under windows. I knew mbstring is required but I kept getting errors even after I enabled both.
The problem can only be fixed by moving the mbstring line above the exif line...
| |