How to compile DB2 PHP driver
Submitted by Vikram Khatri on Thu, 2008-03-27 17:45.
You are new to ibm_db2 or db2 and PHP driver available with thin ODBC-CLI client do not match with your version of PHP. The following steps take drudgery out of complex compilation process for those DBAs or system administrator who are averse to compilation process.
Check if your have PHP > 4.3 and php-devl installed on your system.
Download latest PHP driver source from http://pecl.php.net/get/ibm_db2
If you want previous versions of driver, go to http://pecl.php.net/package/ibm_db2 and select driver of your choice
After you unzip files, you will see something similar to
You do not see ./configure command to build the driver. To get configure command, you need to run phpize command to build configure command from config.m4
Run configure command to build the driver
# rpm -qa | grep php php-mbstring-5.1.6-1.2 php-5.1.6-1.2 php-mysql-5.1.6-1.6 php-pdo-5.1.6-1.2 php-pdo-5.1.6-1.6 php-devel-5.1.6-1.6 php-pear-1.4.9-1.2 php-5.1.6-1.6 php-mbstring-5.1.6-1.6 php-gd-5.1.6-1.6 php-mysql-5.1.6-1.2 php-devel-5.1.6-1.2 php-ldap-5.1.6-1.6
-rw-r--r-- 1 vikram vikram 4687 Aug 31 2005 ibm_db2.dsp -rwxr-xr-x 1 vikram vikram 508 Jul 11 2006 config.w32 -rw-r--r-- 1 vikram vikram 7993 Nov 20 19:06 php_ibm_db2.h -rw-r--r-- 1 vikram vikram 256 Nov 20 19:06 TODO -rw-r--r-- 1 vikram vikram 3297 Nov 20 19:14 config.m4 -rw-r--r-- 1 vikram vikram 182086 Nov 21 11:56 ibm_db2.c drwxrwxr-x 2 vikram vikram 4096 Mar 29 12:47 tests
[vikram@gopal ibm_db2-1.6.5]$ phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20050922 Zend Extension Api No: 220051025 [vikram@gopal ibm_db2-1.6.5]$ ls -l total 1596 -rw-r--r-- 1 vikram vikram 66540 Mar 29 12:49 acinclude.m4 -rw-rw-r-- 1 vikram vikram 297593 Mar 29 12:49 aclocal.m4 drwxr-xr-x 2 vikram vikram 4096 Mar 29 12:49 autom4te.cache drwxrwxr-x 2 vikram vikram 4096 Mar 29 12:49 build -rwxr-xr-x 1 vikram vikram 42037 Mar 29 12:49 config.guess -rw-rw-r-- 1 vikram vikram 1565 Mar 29 12:49 config.h.in -rw-r--r-- 1 vikram vikram 3297 Nov 20 19:14 config.m4 -rwxr-xr-x 1 vikram vikram 30253 Mar 29 12:49 config.sub -rwxrwxr-x 1 vikram vikram 666346 Mar 29 12:49 configure -rw-rw-r-- 1 vikram vikram 2691 Mar 29 12:49 configure.in -rwxr-xr-x 1 vikram vikram 508 Jul 11 2006 config.w32 -rw-r--r-- 1 vikram vikram 182086 Nov 21 11:56 ibm_db2.c -rw-r--r-- 1 vikram vikram 4687 Aug 31 2005 ibm_db2.dsp -rw-rw-r-- 1 vikram vikram 0 Mar 29 12:49 install-sh -rw-r--r-- 1 vikram vikram 196440 Mar 29 12:49 ltmain.sh -rw-r--r-- 1 vikram vikram 4308 Mar 29 12:49 Makefile.global -rw-rw-r-- 1 vikram vikram 0 Mar 29 12:49 missing -rw-rw-r-- 1 vikram vikram 0 Mar 29 12:49 mkinstalldirs -rw-r--r-- 1 vikram vikram 7993 Nov 20 19:06 php_ibm_db2.h -rw-r--r-- 1 vikram vikram 54642 Mar 29 12:49 run-tests.php drwxrwxr-x 2 vikram vikram 4096 Mar 29 12:47 tests -rw-r--r-- 1 vikram vikram 256 Nov 20 19:06 TODO
$ ./configure --with-IBM_DB2=<path to DB2 install dir> $ make # make install
Specify path to DB2 e.g. /home/db2inst1/sqllib or /opt/IBM/db2/V9.5 or your version of DB2