CascadiaPHP 2024


ibm_db2 拡張モジュールをビルドするには、 DB2 アプリケーション開発用のヘッダファイルおよびライブラリが システムにインストールされていなければなりません。 これらのファイルはデフォルトではインストールされないので、 DB2 のインストーラをもう一度起動して このオプションを追加する必要があります。 IBM DB2 Universal Database の » サポートサイト にてフリーで公開されている DB2 Application Development Client に、これらのヘッダファイルが含まれています。

既に DB2 がインストールされている Linux や Unix 上に DB2 アプリケーション開発用のヘッダおよびライブラリを追加した場合は、 DB2 インスタンス内のヘッダファイルやライブラリに対する シンボリックリンクを更新するため、 コマンド db2iupdt -e を実行しなければなりません。

ibm_db2 は » PECL 拡張モジュールなので、 PECL 拡張モジュールのインストール の手順にしたがって PHP にインストールすることができます。 まず、DB2 ヘッダファイルおよびライブラリの場所を指定するために 次のように configure コマンドを実行します。

bash$ ./configure --with-IBM_DB2=/path/to/DB2
configure コマンドのデフォルト値は /opt/IBM/db2/V8.1 となっています。

注意: IIS ユーザー向けの注意

ibm_db2 ドライバを Microsoft Internet Information Server (IIS) で使用する場合は、以下ようにする必要があります。

  • DB2 を、拡張オペレーティングセキュリティ (extended operating system security) つきでインストールします。
  • PHP のバイナリへのパス (デフォルトは C:\php\) を、システムの環境変数 PATH に追加します。
  • システムの環境変数をもうひとつ作成し、PHP.INI のある場所を指定します (例: PHPRC = C:\php\)。

add a note

User Contributed Notes 5 notes

jean dot ferreira at gmail dot com
10 years ago
==Installation ibm_db2 in PHP5, using Data Server Driver Package and pecl on Debian / Ubuntu==

#You do not need DB2 (database) installed
#The ibm_db2 driver is downloaded and automatically compiled by pecl

#1- Install packages
apt-get install php-pear ksh zip

#2- Make directory
mkdir /opt/ibm

#3- Download Data Server Driver Package (dsdriver), as the architecture

#4- Decompress dsdriver at /opt/ibm/
tar -xvf v10.5fp1_linuxx64_dsdriver.tar.gz (linux64)
tar -xvf v10.5fp1_linuxia32_dsdriver.tar.gz (linux32)

#5- Change permission instalation script - /opt/ibm/dsddriver
chmod 755 installDSDriver

#6- Run the installation script
ksh installDSDriver

#7- Download and install the driver using the pecl
pecl install ibm_db2

downloading ibm_db2-1.9.5.tgz ...
Starting to download ibm_db2-1.9.5.tgz (157,720 bytes)
................done: 157,720 bytes
5 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626

#8- Configure the installation directory
DB2 Installation Directory? : /opt/ibm/dsdriver

Build process completed successfully
Installing '/usr/lib/php5/20090626/'
install ok: channel://
configuration option "php_ini" is not set to php.ini location
You should add "" to php.ini

#9- Change php.ini
vim /etc/php5/apache2/php.ini
; Dynamic Extensions ;
extension =
extension = /usr/lib/php5/20090626/

#10- Reboot the Apache
service apache2 restart
kpfitzgerald at gmail dot com
13 years ago
Actually a much simpler way on SLES 11 SP1 and DB2 Express C is to execute the following.

pecl install ibm_db2

when it asks for your path put in your location of SQLLIB not your db2 install. usually found here...


to verify execute
pecl list

Should show the following:

Installed packages, channel
Package Version State
ibm_db2 1.9.1 stable
rifat dot aras at gmail dot com
12 years ago
If you try to use the php_ibm_db2.dll that comes with the database while working with a WAMP server, you may have difficulties loading the ibm_db2 extension. You can understand this by checking the Apache error log.

This can be solved by downloading the correct dll by visiting and then clicking "IBM_DB2 PHP Driver for Windows > PHP 5.(2|3)._ > VC(6|9) > php_ibm_db2-ver-(nts_ts)-vc(6|9)"

The correct dll version can be determined by checking the "Compiler" and "Thread Safety" fields on the php_info page.

Copy the dll to the extension directory, update the php.ini file, and restart the Apache service.
15 years ago
I installed this tool foolwing the next steps:

(Prereq: I've installed DB2 express-c before, and also Apache and php)

- Download the file: ibm_db2-1.8.2.tgz
- Untar the file: tar -xvf ibm_db2-1.8.2.tgz
- Go to the main directory
- Execute 'phpize' and that creates several files.
- Execute './configure --with-IBM_DB2=/opt/ibmn/db2/V9.5_01'
- Execute 'make'
- Execute 'make install'
- Modify the php.ini file in order to activate the extension.

To check that the library is included: php -i

Then, you have to restart Apache: httpd -k restart
angoca at yahoo dot com
12 years ago
In DB2 v9 the clients have changed their names. Now, they are called

Data server client

If you search in Internet "DB2 fixpack" you will get an IBM address like

You select the DB2 version and fixpack level, then the platform and finally the product, that in this case is "Data Server client"
To Top