Windows に PHP を インストールし、Web サーバの設定ができたら、 次は PHP 拡張モジュールを使うための設定です。 php.ini を使って PHP が起動時にロードする拡張モジュールを設定することができます。 もしくは、スクリプトの中で dl() 関数を使用することにより、 拡張モジュールを動的にロードすることも可能です。
PHP 拡張モジュールの DLL には、ファイル名の前に 'php_' が付いています。
注意: PHP 4.3.1では、BCMath, Calendar, COM, FTP, MySQL, ODBC, PCRE, Session, WDDX, XML サポートがビルトインされています。 これらの関数の使用にあたっては、拡張モジュールをロードする必要はありません。 ビルトイン済モジュールについては、配布ファイルの README.txt、install.txt または こちらの表 を参照してください。
PHP が拡張モジュールを探すデフォルトのフォルダは PHP4 の場合 c:\php4\extensions、 PHP5 の場合 c:\php5 です。 変更するには php.ini ファイルを編集してください。
extension_dir を拡張モジュール があるフォルダに変更する必要があります。 php_*.dllファイルをそこに置いてください。 最後のバックスラッシュを忘れないでください。例を示します。
php.ini には、多くの拡張モジュール名がコメントアウトされた状態で記載済みです。 それらの拡張モジュールを有効にするには、php.ini 上の extension=php_*.dll の行をアンコメント(行頭の ; を削除する)してください。
例 6-8. Windows 版の PHP で Bzip2 拡張モジュールを有効にする
|
拡張モジュールによっては、その動作に外部 DLL が必要な場合があります。 配布パッケージには、一部の外部 DLL がバンドルされています。 PHP4 の場合は C:\php\dlls\を、 PHP5 の場合は親フォルダを参照ください。ただし、必要な外部 DLL がバンドルされていないモジュールもあり、たとえば、Oracle モジュール (php_oci8.dll) は、非バンドルの DLL を必要とします。 PHP 4 をインストールする場合、バンドルされた DLL を C:\php\dlls からメインのフォルダ C:\php へコピーしてください。 また、忘れずに C:\php をシステムパスに 追加してください(その方法は、別途 FAQ に記載されています。)
注意: PHP をサーバモジュールとして実行している場合は、Webサーバを再起動しないと、 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 | Crack 関数 | |
php_ctype.dll | 文字型(ctype) 関数 | PHP 4.3.0 以降ビルトイン |
php_curl.dll | CURL, Client URL Library 関数 | libeay32.dll および ssleay32.dll が必要 (バンドル) |
php_cybercash.dll | Cybercash 支払関数 | 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: Forms Data Format 関数 | 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 | イメージ 関数 (GD2 ライブラリ) | 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 management 関数 | |
php_imap.dll | IMAP,POP3,NNTP 関数 | |
php_ingres.dll | Ingres II 関数 | Ingres II ライブラリが必要 |
php_interbase.dll | InterBase 関数 | 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。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 | 共有メモリ 関数 (shmop) | |
php_snmp.dll | SNMP 関数 | NT のみ |
php_soap.dll | SOAP 関数 | PHP >= 5.0.0 |
php_sockets.dll | ソケット 関数 | |
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 以降ビルトイン |