IBM DB2 Installation
From DreamFactory
Notes
Using DB2 with PHP requires the installation of 2 drivers, ibm_db2, and pdo_ibm. The following instructions are intended as a guide. Knowledge of compiling applications is necessary for this process.
Linux
Debian/Ubuntu/Mint/Etc
IBM_DB2
- Get the prerequisites
$ sudo apt-get install build-essential php5-dev php-pear ksh zip
- Download the DS Driver package from IBM (login required, free.) https://www-01.ibm.com/marketing/iwm/iwm/web/preLogin.do?source=swg-idsdpds
- Extract the DS Driver package to a directory of your choosing. I made a directory in /opt/ibm for this, and will use this directory throughout the examples.
$ sudo mkdir /opt/ibm
$ sudo tar -zxvf ibm_data_server_driver_package_linuxx64_v10.5.tar.gz -C /opt/ibm
- Change directory to the extracted files and make the installer executable
$ cd /opt/ibm/dsdriver
$ sudo chmod +x installDriver
- Install the DS Driver package
$ sudo ksh installDriver
- You should see feed back on the screen indicating successful installation. If you do not, please troubleshoot and resolve before proceeding
- Build and install the module with PECL. The installer will ask you for the DB2 Installation Directory, which will be /opt/ibm/dsdriver
$ sudo pecl install ibm_db2
DB2 Installation Directory? : /opt/ibm/dsdriver
- Enable the module in PHP
- Use your text editor of choice (I use vim) to add an ibm_db2.ini file
$ sudo vim /etc/php5/mods-available/ibm_db2.ini
- The file should have a single line
extension=ibm_db2.so
- Save the file. Then enable the module the php enmod
$ sudo php5enmod ibm_db2
- Confirm installed and working in PHP
$ php -m
- You should not see any errors at the top of the module list, and ibm_db2 should be in the module list.
PDO_IBM
- This process requires you to configure and compile the driver source code, and has some possible steps that will be unique to each system. Please read through the instructions carefully.
- For the sake of simplicity and avoiding permissions issues, it is recommended to start in your home directory (
$ cd ~
) before performing these instructions.
- Download the latest source package from PECL (version 1.3.4 as of this writing.)
- Extract the file
$ tar -zxvf PDO_IBM-1.3.4.tgz
- Change into the extracted directory and phpize.
$ cd PDO_IBM-1.3.4
$ phpize
- Configure the package
- In some environments configure may fail because it looks for the php_pdo_driver.h file in the wrong location. In our test environment (Ubuntu 14.04) this was resolved by first making a symlink from include/php5 folder to include/php.
$ sudo ln -s /usr/include/php5 /usr/include/php
$ ./configure --with-pdo-ibm=/opt/ibm/dsdriver/lib
- In some environments configure may fail because it looks for the php_pdo_driver.h file in the wrong location. In our test environment (Ubuntu 14.04) this was resolved by first making a symlink from include/php5 folder to include/php.
- Compile the package and install
$ make
$ sudo make install
- Enable the module in PHP
- Use your text editor of choice (I use vim) to add a pdo_ibm.ini file
$ sudo vim /etc/php5/mods-available/pdo_ibm.ini
- The file should have a single line
extension=pdo_ibm.so
- Save the file. Then enable the module the php enmod
$ sudo php5enmod pdo_ibm
- Confirm installed and working in PHP
$ php -m
- You should not see any errors at the top of the module list, and pdo_ibm should be in the module list.