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 データ・サーバー製品は必要ありません。
手順
php 拡張モジュール ibm_db2 および pdo_ibm をインストールするには、以下のようにします。
- export コマンドを使用して、環境変数 IBM_DB_HOME を次のように設定します。
$export IBM_DB_HOME=DB2HOME
DB2HOME は、IBM Data Server 製品がインストールされているディレクトリーです。
以下に例を示します。
$ 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 Data Server 製品がインストールされているディレクトリーです。
- IBM Data Server 製品に含まれているコンパイル済み拡張モジュールを使用します。
- 次のコマンドを発行して、ご使用の PHP 環境がスレッド・セーフか非スレッド・セーフのどちらであるかを判別する必要があります。
$ php -info| 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 Data Server 製品がインストールされているディレクトリーです。
- 任意のエディターで php.ini ファイルを開きます。
<local_php_directory>/php/lib ディレクトリー内の php.ini ファイルで extension 項目を次のように編集して、PHP ドライバーを参照するようにします。
extension=pdo.so
extension=ibm_db2.so
extension=pdo_ibm.so
- PHP ドライバーが libdb2.so CLI ドライバー・ファイルに確実にアクセスできるようにするために、(AIX® オペレーティング・システムを除く) Linux および UNIX オペレーティング・システムで LD_LIBRARY_PATH 変数を設定します。
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 サーバー環境で稼働している場合:
- httpd.conf ファイルで LD_LIBRARY_PATH 変数を追加します。 32 ビット・アーキテクチャーの場合、LD_LIBRARY_PATH を DB2HOME¥lib32 ディレクトリーに設定します。
64 ビット・アーキテクチャーの場合、LD_LIBRARY_PATH を DB2HOME¥lib64 ディレクトリーに設定します。
- 新しい構成設定が有効になるように、HTTP サーバーを再始動します。