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 http://sourceforge.net/projects/db2mc/files/ 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)-x86.zip"
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.
To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on your system. DB2 does not install these by default, so you may have to return to your DB2 installer and add this option. The header files are included with the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.
If you add the DB2 application development header files and libraries to a Linux or Unix operating system on which DB2 was already installed, you must issue the command db2iupdt -e to update the symbolic links to the header files and libraries in your DB2 instances.
ibm_db2 is a » PECL extension, so follow the instructions in Installation of PECL extensions to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of your DB2 header files and libraries as follows:
bash$ ./configure --with-IBM_DB2=/path/to/DB2
Note: Note for IIS users
If you are using the ibm_db2 driver with Microsoft Internet Information Server (IIS) you may have to do the following:
- Install DB2 with extended operating system security.
- Add the PHP binary path to the PATH system environment variable (default C:\php\).
- Create another system environment variable equal to the path where the PHP.INI file is located (eg: PHPRC = C:\php\).
- Add the IUSR_COMPUTERNAME to the DB2USERS group.
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"
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
Should show the following:
Installed packages, channel pecl.php.net:
Package Version State
ibm_db2 1.9.1 stable
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 ibm_db2.so extension.
To check that the library is included: php -i
Then, you have to restart Apache: httpd -k restart
Took me a little while to found this, so I thought it may help someone else down the track. You can grab the latest versions of the php_ibm_db2.dll files for Windows IIS & PHP5+ from this site on Sourceforge: