在 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 檔案的位置。例如:
要在 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 起內建 |