PHP pecl IBM_DB2のコンパイル方法

どうもphpのマニュアルを見ていても要領を得ないので
調べまくってみた

ひとまずpeclからibm_db2のソースをダウンロードして展開
インストールしているphpのソースのextに展開する
(自分の環境だと /usr/local/src/php-5.2.8/ext/ibm_db2 って感じでした)

で展開したibm_db2ディレクトリに移って

phpize
./configure --with-php-config=/usr/bin/php-config  --with-IBM_DB2=/opt/ibm/db2/V9.5/

ZendCoreだったら

phpize
./configure --with-php-config=/usr/local/Zend/Core/bin/php-config  --with-IBM_DB2=/opt/ibm/db2/V9.5/

最近だったら、
./configure --with-php-config=/usr/local/php/bin/php-config --with-IBM_DB2=/opt/ibm/db2/V9.7
てな感じですね。
まあ、環境に合わせて試してみてください〜

とすると
./modules/ibm_db2.so
ができていると思うので、

ほかのpeclだと、makeが必要かもです
make必須でした・・

phpのmodulesにコピーして
php.iniに

extension=ibm_db2.so

を追加してapacheの再起動

てな手順でいけるはず!

でも、うまくいかないパターンがあって調べてみると
/opt/ibm/db2/V9.5/includeディレクトリの中身がさっぱり無いっていう
のが原因でした。。
手元のDB2 9.5(32bit)がそうで、じゃあ、64bitだとあるし
DB2clientが入っているマシンでも大丈夫だった・・

とりあえず、ほかに存在していたincludeの中身をごっそりコピってきたら
configureが通りましたwww




ちょっと不可解ですが、深追いしていないので
まあこんなところで。。

で、ちょっと探ってみたんですが、
インストールオプションにもよるのかもですが
includeの中身がスカスカの場合は
DB2のインストールパッケージ(ダウンロードなどしたファイルを解凍したもの)内の
expc/db2/linux/FILES/APPLICATION_DEVELOPMENT_TOOLS_9.7.0.2_linuxia32_i386.tar.gz
(express-c 9.7.2の場合)
を解凍すると、includeというディレクトリができるので
この中身を、
/opt/ibm/db2/V9.7/include/
(express-c 9.7.2の場合)
にコピーすればいいようでした。