• 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.
    # 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
    
  • 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
    -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
    
  • 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

    [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
    
  • Run configure command to build the driver

    $ ./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