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 データ・サーバー製品に含まれているコンパイル済み拡張モジュールを使用します。
- 次のコマンドを発行し、ご使用の PHP 環境がスレッド・セーフか非スレッド・セーフのどちらであるかを判別しなければなりません。
$ php -info| grep "Thread Safe"
- IBM Data Server Client および
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 ドライバー共有ライブラリー・ファイルをインストール済みの PHP 拡張モジュールのディレクトリーに、ibm_db2.so ファイルおよび pdo_ibm.so ファイルとしてコピーします。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 ファイルの extension エントリーを、PHP ドライバーを参照するように編集します。
extension=pdo.so
extension=ibm_db2.so
extension=pdo_ibm.so
- AIX オペレーティング・システム以外の Linux および UNIX オペレーティング・システムの場合、LD_LIBRARY_PATH 変数を設定して、libdb2.so CLI ドライバー・ファイルに PHP ドライバーがアクセスできるようにします。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 ファイルに追加します。 32 ビット・アーキテクチャーの場合、LD_LIBRARY_PATH を DB2HOME¥lib32 ディレクトリーに設定します。
64 ビット・アーキテクチャーの場合、LD_LIBRARY_PATH を DB2HOME¥lib64 ディレクトリーに設定します。
- HTTP サーバーを再始動し、新しい構成設定が有効になるようにします。