Aimail
  PHP4とDB2 V8.1を連携させてみました。


今回の組み合わせは以下の通りです。

ソフト サイト 今回使用したもの
Redhat Linux9 Redhat Linux Redhat Linux9 FTP版
Apatche 2.0.47 Apache httpd-2.0.47.tar.gz
PHP 4.3.2 PHP php-4.3.2.tar.gz
IBM DB2 UDB v8.1 DB2 UDB IBM DB2 UDB v8.1

なお導入にあたりApache1.3であればIBMのDB2のサイトに導入方法記載されています。
ここでは最新のApache2 を用いています。

導入にあたり、apacheやPHPはソースからのコンパイルが必要です。
デフォルトのapacheやPHPは削除しておく必要があります。

削除はrpmコマンドで削除します。
rpm -e パッケージ名




DB2の導入
DB2の導入はIBMのDB2のサイトに記載されていますのでそちらを参照して下さい。
注意事項としては開発ツールを選択しないとODBC接続ができませんので今回の場合はかならず選択します。
(標準インストールではPHPとDB2の接続ができませんので注意して下さい。)
すでにDB2が導入されている場合は再度インストーラーを立ち上げて開発ツールのみを追加します。



apacheの導入
ソースファイルは /usr/local/src にあるとします。

# cd /usr/local/src
# tar xvfz httpd-2.0.47.tar.gz
# cd httpd-2.0.47
# ./configure
# make
# make install



PHP4の導入
ソースファイルは /usr/local/src にあるとします。
またDB2はデフォルトの /opt/IBM/db2/V8.1 に導入されているとします。

# tar xvfz php-4.3.2.tar.gz
# cd php-4.3.2
# ./configure --with-ibm-db2=/opt/IBM/db2/V8.1 --with-apxs2=/usr/local/apache2/bin/apxs
# make
# make install



完了したら php.ini をコピーします。

cp /usr/local/src/php-4.3.2/php.ini-dist /usr/local/lib/php.ini

まずapacheを起動します。
/usr/local/apache2/conf/httpd.confに以下の行がなければ追加してから開始します。

# And for PHP 4.x, use:
AddType application/x-httpd-php .php


# /usr/local/apache2/bin/apachctr start


PHPのテストプログラムを作成します。以下のファイルを phptest.php とでもして保存します。


<? phpinfo(); ?>

このファイルを /usr/local/apache2/htdocs の下にコピーします。



次にapachectlを修正しdb2profileを読み込む様にします。

/usr/local/apache2/bin/apachectl をエディターでひらき先頭に次の4行を追加します。

# for DB2 UDB + PHP4
. /home/db2inst1/sqllib/db2profile
LANG=ja_JP.eucJP (DB2 V7ではLANG=ja_JP.ujisを指定するようです。)
export LANG


次にapacheを再起動します。

# /usr/local/apache/bin/apachectl restart
もしDB2が起動していない場合は起動させます。

# su - db2inst1
$ db2start



さて、アクセスしてみます。
ブラウザーで
http://localhost/phptest.php
と打ち込み、無事phpの情報を示す画面が表示されればうまく導入されています。

データベースへのアクセスサンプルもIBMのサイトにありますので試してみて下さい。










       [へなちょこlinuxのコーナーへ]    [ホームへ]