IBM® データベース・サーバーに接続して SQL ステートメントを実行する前に、PHP 環境をセットアップする必要があります。
始める前に
以下の必須ソフトウェアがシステムにインストールされている必要があります。
- PHP バージョン 5 以降
- PHP アプリケーションがリモート IBM データベースに接続する場合、PHP アプリケーションを実行するコンピューターには、以下のいずれかの製品が必要です。
- IBM Data Server Client 製品
- IBM Data Server Runtime Client 製品
- IBM Data Server Driver Package 製品
- IBM Data Server Driver for ODBC and CLI 製品
PHP アプリケーションがローカル・コンピューター上の IBM データベース・サーバーに接続する場合、追加の IBM データ・サーバー製品は必要ありません。
プロシージャー
ibm_db2 拡張モジュールおよび pdo_ibm php 拡張モジュールをインストールするには、次のようにします。
- export コマンドを使用して、環境変数 IBM_DB_HOME を設定します。
$export IBM_DB_HOME=DB2HOME
DB2HOME は、IBM データ・サーバー製品がインストールされているディレクトリーです。 例えば、以下のようにします。
$ export IBM_DB_HOME=/home/db2inst1/sqllib
- 以下の 3 つのいずれかの方式を使用して、ibm_db 拡張モジュールおよび pdo_ibm 拡張モジュールをインストールします。
- PHP Extension Community Library (PECL) に含まれている pecl install コマンドを使用します。
- ibm_db2 拡張モジュールをインストールするには、次のようにします。
$ pecl install ibm_db2
- pdo_ibm 拡張モジュールをインストールするには、次のようにします。
$ pecl install pdo_ibm
- ソース・コードに含まれるコマンドを使用します。
- ソース・アーカイブを解凍します。
- 解凍されたディレクトリーから以下のコマンドを実行します。
$ phpize --clean
$ phpize
$ ./configure
$ make
$ make install
- pdo_ibm 拡張モジュールをインストールする場合、以下の configure コマンドを実行する必要があります。
$./configure --with-PDO_IBM=DB2HOME
DB2HOME 変数は、 IBM データ・サーバー製品がインストールされているディレクトリーです。
- IBM Data Server 製品に組み込まれているコンパイル済み拡張機能を使用します。
- 次のコマンドを発行し、ご使用の PHP 環境がスレッド・セーフか非スレッド・セーフのどちらであるかを判別しなければなりません。
$ php -i| grep "Thread Safe"
- IBM データ・サーバー・クライアントおよび IBM Data Server Driver Package ソフトウェアには、以下の 2 つのタイプの PHP ドライバーが付属しています。
- スレッド・セーフ: ibm_db2_XX_ts.so および pdo_ibm_XX_ts.so
- 非スレッド・セーフ: ibm_db2_XX_nts.so および pdo_ibm_XX_nts.so
cp コマンドを使用して、該当する PHP ドライバー共有ライブラリー・ファイルを、 ibm_db2.so ファイルおよび pdo_ibm.so ファイルとして インストールされている PHP 拡張ディレクトリーにコピーします。32 ビットの PHP ドライバーの場合:
$ cp DB2HOME/php/php32/ibm_db2_XX_[ts/nts].so <local_php_directory>/php/lib/php/extensions/ibm_db2.so
$ cp DB2HOME/php/php32/pdo_ibm_XX_[ts/nts].so <local_php_directory>/php/lib/php/extensions/pdo_ibm.so
64 ビットの PHP ドライバーの場合:
$ cp DB2HOME/php/php64/ibm_db2_XX_[ts/nts].so <local_php_directory>/php/lib/php/extensions/ibm_db2.so
$ cp DB2HOME/php/php64/pdo_ibm_XX_[ts/nts].so <local_php_directory>/php/lib/php/extensions/pdo_ibm.so
DB2HOME 変数は、 IBM データ・サーバー製品がインストールされているディレクトリーです。
- 任意のエディターで、 php.ini ファイルを開きます。 <local_php_directory>/php/lib ディレクトリーにある php.ini ファイル内の拡張エントリーを編集して、PHP ドライバーを参照します。
extension=pdo.so
extension=ibm_db2.so
extension=pdo_ibm.so
- AIX オペレーティング・システム以外の Linux および UNIX オペレーティング・システムの LD_LIBRARY_PATH 変数を設定して、PHP ドライバーが libdb2.so CLI ドライバー・ファイルにアクセスできることを確認します。 AIX オペレーティング・システムの場合、LIBPATH 変数を設定する必要があります。
- AIX オペレーティング・システム以外の 32 ビットの Linux および UNIX オペレーティング・システムの場合、export コマンドを使用して、IBM_DB_HOME/lib32 ディレクトリーを LD_LIBRARY_PATH 変数に設定します。
export LD_LIBRARY_PATH=DB2HOME/lib32
- 32 ビットの AIX オペレーティング・システムの場合、export コマンドを使用して IBM_DB_HOME/lib32 ディレクトリーを LIBPATH 変数に設定します。
export LIBPATH=DB2HOME/lib32
- AIX オペレーティング・システム以外の 64 ビットの Linux および UNIX オペレーティング・システムの場合、export コマンドを使用して LD_LIBRARY_PATH 変数を IBM_DB_HOME/lib64 ディレクトリーに設定します。
export LD_LIBRARY_PATH=DB2HOME/lib64
- 64 ビットの AIX オペレーティング・システムの場合、export コマンドを使用して LD_LIBRARY_PATH 変数を IBM_DB_HOME/lib64 ディレクトリーに設定します。
export LIBPATH=DB2HOME/lib64
- オプション: IBM データベース・サーバーに接続する PHP アプリケーションが HTTP サーバー環境で実行されている場合:
- LD_LIBRARY_PATH 変数を httpd.conf ファイルまたは httpd.service ファイルに追加します。
32 ビット・アーキテクチャーの場合は、LD_LIBRARY_PATH を DB2HOME\lib32 ディレクトリーに設定します。 64 ビット・アーキテクチャーの場合、LD_LIBRARY_PATH を DB2HOME¥lib64 ディレクトリーに設定します。
- HTTP サーバーを再始動し、新しい構成設定が有効になるようにします。