PHP 手册
后退 | 章 6. Windows 系统下的安装 | 前进

# Windows 下安装扩展库

在 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 和 Zlib。

PHP 5 中（截止到 5.0.4）有以下修改。新增内置：DOM，LibXML，Iconv，SimpleXML，SPL 和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 前的注释符号，将想要加载的扩展库前的分号（;）删除即可。

  例子 6-8. 启用 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 扩展库，这些扩展库需要单独下载。

> 注: 如果运行服务器模块版的 PHP，在修改了 `php.ini` 之后别忘了重新启动 web 服务器以使其改动生效。

下表说明了哪些扩展库需要额外的 DLL。

表格 6-1. PHP 扩展库

扩展库 | 说明 | 注解
--- | --- | ---
php_bz2.dll | bzip2 压缩函数库 | 无
php_calendar.dll | 历法转换函数库 | 自 PHP 4.0.3 起内置
php_cpdf.dll | ClibPDF 函数库 | 无
php_crack.dll | 密码破解函数库 | 无
php_ctype.dll | ctype 家族函数库 | 自 PHP 4.3.0 起内置
php_curl.dll | CURL，客户端 URL 库函数库 | 需要：`libeay32.dll`，`ssleay32.dll`（已附带）
php_cybercash.dll | 网络现金支付函数库 | PHP <= 4.2.0
php_db.dll | DBM 函数库 | 已废弃。用 DBA 替代之（`php_dba.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 | InterBase functions | 需要：`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_oracle.dll | Oracle 函数库 | 需要：Oracle 7 客户端库
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 起内置

后退 | 起点 | 前进
从源程序编译 | 上一级 | PECL 扩展库安装