在 Windows 下安装完 PHP 和 web 服务器之后,可能想要安装一些扩展库来获得更多功能。可以通过修改 php.ini 来选择当 PHP 启动时加载哪些扩展库。也可以在脚本中通过使用 dl()来动态加载。
PHP 扩展库的 DLL 文件都具有 php_前缀。
很多扩展库都 内置于Windows 版的 PHP 之中。这意味着要加载这些扩展库 不需要额外的 DLL 文件和 extension配置指令。Windows 下的 PHP 扩展库列表列出了需要或曾经需要额外 PHP DLL 文件的扩展库。下面是内置的扩展库列表:
PHP 4 中(截止到 PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML&listendand; Zlib。
PHP 5 中(截止到 5.0.4)有以下修改。新增内置: DOM, LibXML, Iconv, SimpleXML, SPL&listendand; SQLite。以下不再内置: MySQL和 Overload。
PHP 搜索扩展库的默认位置在 PHP 4 中是 C:\php4\extensions,在 PHP 5 中是 C:\php5。要修改此项以符合用户自己的 PHP 设置,需要编辑 php.ini 文件:
需要修改 extension_dir设置以指向用户放置扩展库的目录或者说放置 php_*.dll文件的位置。例如:
extension_dir = C:\php\extensions
要在 php.ini 中启用某扩展库,需要去掉该行 extension=php_*.dll前的注释符号,将想要加载的扩展库前的分号(;)删除即可。
Example #1 启用 Bzip2扩展库
// 将这一行 ;extension=php_bz2.dll // 改成这样 extension=php_bz2.dll
有些扩展库需要额外的 DLL 才能工作。其中一部分包括在发行包里,PHP 4 中在 C:\php\dlls\目录下,PHP 5 中在主目录下,但还有一些,例如 Oracle( php_oci8.dll)所需要的 DLL 没有绑定在发行包里。如果安装 PHP 4,将绑定的 DLL 从 C:\php\dlls拷贝到主目录 C:\php中。别忘了将 C:\php放到系统路径 PATH中去(此过程在另外的 FAQ 条目中有说明)。
某些 DLL 没有绑定在 PHP 发行包中,详情见每个扩展库的文档页。此外有关 PECL的说明见手册页 PECL 扩展库安装。在 PECL中有日益增加数目巨大的 PHP 扩展库,这些扩展库需要 单独下载。
Note: 如果运行服务器模块版的 PHP,在修改了 php.ini 之后别忘了重新启动 web 服务器以使其改动生效。
下表说明了哪些扩展库需要额外的 DLL。
扩展库 | 说明 | 注解 |
---|---|---|
php_bz2.dll | bzip2压缩函数库 | 无 |
php_calendar.dll | 历法转换函数库 | 自 PHP 4.0.3 起内置 |
php_crack.dll | 密码破解函数库 | 无 |
php_ctype.dll | ctype家族函数库 | 自 PHP 4.3.0 起内置 |
php_curl.dll | CURL,客户端 URL 库函数库 | 需要: libeay32.dll, ssleay32.dll(已附带) |
php_dba.dll | DBA:数据库(dbm 风格)抽象层函数库 | 无 |
php_dbase.dll | dBase函数库 | 无 |
php_dbx.dll | dbx函数库 | |
php_domxml.dll | DOM XML函数库 | PHP <= 4.2.0 需要: libxml2.dll(已附带),PHP >= 4.3.0 需要: iconv.dll(已附带) |
php_dotnet.dll | .NET函数库 | PHP <= 4.1.1 |
php_exif.dll | EXIF函数库 | 需要 php_mbstring.dll。并且在 php.ini 中, php_exif.dll必须在 php_mbstring.dll 之后加载。 |
php_fbsql.dll | FrontBase函数库 | PHP <= 4.2.0 |
php_fdf.dll | FDF:表单数据格式化函数库 | 需要: fdftk.dll(已附带) |
php_filepro.dll | filePro函数库 | 只读访问 |
php_ftp.dll | FTP函数库 | 自 PHP 4.0.3 起内置 |
php_gd.dll | GD库图像函数库 | 在 PHP 4.3.2 中删除。此外注意在 GD1 中不能用真彩色函数,用 php_gd2.dll替代。 |
php_gd2.dll | GD库图像函数库 | GD2 |
php_gettext.dll | Gettext函数库 | PHP <= 4.2.0 需要 gnu_gettext.dll(已附带),PHP >= 4.2.3 需要 libintl-1.dll, iconv.dll(已附带)。 |
php_hyperwave.dll | HyperWave函数库 | 无 |
php_iconv.dll | ICONV字符集转换 | 需要: iconv-1.3.dll(已附带),PHP >=4.2.1 需要 iconv.dll |
php_ifx.dll | Informix函数库 | 需要:Informix 库 |
php_iisfunc.dll | IIS 管理函数库 | 无 |
php_imap.dll | IMAP,POP3 和 NNTP 函数库 | 无 |
php_ingres.dll | Ingres II函数库 | 需要:Ingres II 库 |
php_interbase.dll | InterBasefunctions | 需要: gds32.dll(已附带) |
php_java.dll | Java函数库 | PHP <= 4.0.6 需要: jvm.dll(已附带) |
php_ldap.dll | LDAP函数库 | PHP <= 4.2.0 需要 libsasl.dll(已附带),PHP >= 4.3.0 需要 libeay32.dll, ssleay32.dll(已附带) |
php_mbstring.dll | 多字节字符串函数库 | 无 |
php_mcrypt.dll | Mcrypt 加密函数库 | 需要: libmcrypt.dll |
php_mhash.dll | Mhash函数库 | PHP >= 4.3.0 需要: libmhash.dll(已附带) |
php_mime_magic.dll | Mimetype函数库 | 需要: magic.mime(已附带) |
php_ming.dll | Ming函数库(Flash) | 无 |
php_msql.dll | mSQL函数库 | 需要: msql.dll(已附带) |
php_mssql.dll | MSSQL函数库 | 需要: ntwdblib.dll(已附带) |
php_mysql.dll | MySQL函数库 | PHP >= 5.0.0 需要 libmysql.dll(已附带) |
php_mysqli.dll | MySQLi函数库 | PHP >= 5.0.0 需要 libmysql.dll(PHP <= 5.0.2 中是 libmysqli.dll)(已附带) |
php_oci8.dll | Oracle 8函数库 | 需要:Oracle 8.1+ 客户端库 |
php_openssl.dll | OpenSSL函数库 | 需要: libeay32.dll(已附带) |
php_overload.dll | 对象重载函数库 | 自 PHP 4.3.0 起内置 |
php_pdf.dll | PDF函数库 | 无 |
php_pgsql.dll | PostgreSQL函数库 | 无 |
php_printer.dll | 打印机函数库 | 无 |
php_shmop.dll | 共享内存函数库 | 无 |
php_snmp.dll | SNMP函数库 | 仅用于 Windows NT! |
php_soap.dll | SOAP函数库 | PHP >= 5.0.0 |
php_sockets.dll | Socket函数库 | 无 |
php_sybase_ct.dll | Sybase函数库 | 需要:Sybase 客户端库 |
php_tidy.dll | Tidy函数库 | PHP >= 5.0.0 |
php_tokenizer.dll | Tokenizer函数库 | 自 PHP 4.3.0 起内置 |
php_w32api.dll | W32api函数库 | 无 |
php_xmlrpc.dll | XML-RPC函数库 | PHP >= 4.2.1 需要 iconv.dll(已附带) |
php_xslt.dll | XSLT函数库 | PHP <= 4.2.0 需要 sablot.dll, expat.dll(已附带)。PHP >= 4.2.1 需要 sablot.dll, expat.dll, iconv.dll(已附带)。 |
php_yaz.dll | YAZ函数库 | 需要: yaz.dll(已附带) |
php_zip.dll | Zip 文件函数库 | 只读访问 |
php_zlib.dll | ZLib压缩函数库 | 自 PHP 4.3.0 起内置 |