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.
Installation
Pour compiler l'extension ibm_db2, les fichiers d'en-tête et de bibliothèques de l'application de développement de DB2 doivent être présents sur votre système. DB2 ne les installe pas par défaut, vous devrez donc retourner à l'installation de DB2 et ajouter cette option. Les en-têtes des fichiers sont inclus avec le client de développement d'application DB2, disponible librement au téléchargement depuis le » support du site de la base de données universelle.
Si vous ajoutez les fichiers d'en-têtes et de bibliothèques de l'application de développement de DB2 sur un système Linux ou Unix où DB2 est déjà installé, vous devez lancer la commande db2iupdt -e pour mettre à jour les liens symboliques dans les fichiers d'en-têtes et de bibliothèques de vos exemples DB2.
ibm_db2 est une extension » PECL, alors suivez les instructions présentes dans Installation d'extensions PECL pour installer l'extension ibm_db2 pour PHP. Tapez la commande configure pour pointer vers l'emplacement de vos fichiers d'en-têtes et de bibliothèques de DB2 comme suit :
bash$ ./configure --with-IBM_DB2=/chemin/vers/DB2
Note: Note pour les utilisateurs de IIS
Si vous utilisez le driver ibm_db2 avec IIS (Microsoft Internet Information Server), vous devez faire ce qui suit :
- Installez DB2 avec le système de sécurité étendu.
- Ajoutez le chemin vers le binaire PHP à la variable d'environnement du système (PATH) (Par défaut : C:\php\).
- Créé une autre variable d'environnement contenant le chemin vers le fichier PHP.INI (e.g. : PHPRC = C:\php\).
- Ajoutez l'utilisateur IUSR_COMPUTERNAME au groupe DB2USERS.
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
http://www-01.ibm.com/support/docview.wss?uid=swg24031181
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...
/home/db2inst1/sqllib
to verify execute
pecl list
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.
extension=ibm_db2.so
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:
http://sourceforge.net/projects/db2mc/files/
