Compilar PHP con soporte para DB2

Posted by hunk in DB2, Hunk, Linux, Tesis on August 13, 2008

Así es, en esta ocasión veremos como complilar PHP con soporte paraDB2  (en el post anterior instalamos DB2), después de investigar un poco me encontré con 3 formas de hacerlo, solo en una no pude, no se por que no funcionaba bien y estoy en algunas pruebas para tratar de hacerlo funcionar, en esta ocasión veremos conectar DB2 con PHP por medio de Open Database Connectivity (ODBC) como se muestra en el sitio de IBM, para poder realizar esto necesitamos compilar PHP.

Este procedimiento se probo en ubuntu gusty, hardy y linux Mint y que dicho sistema ya cuente con DB2

primero por medio de las herramientas de instalación de la distribución instalamos los siguientes paquetes:

  • apache2
  • apache2-threaded-dev
  • libxml2-dev

probamos que este funcionando apache correctamente, para esto abrimos nuestro navegador y ponemos en la ulr localhost o 127.0.0.1, tendremos un mensaje de apache si esta funcionando correctamente.

procedemos a bajar las fuentes de PHP del sitio oficial.

Descomprimimos el contenido y en nos situamos en dicha carpeta en una terminal y procedemos a poner el siguiente comando

source /home/db2inst1/sqllib/db2profile

esto para que no nos marque el configure no nos marque el siguiente error:

build test failed. Please check the config.log for details. You need to source your DB2 environment before running PHP configure: # . $IBM_DB2/db2profile

después de aplicar el comando source procedemos a realizar la configuración de PHP con la siguiente linea:

./configure –with-apxs2=/usr/bin/apxs2 –with-ibm-db2=/home/db2inst1/sqllib/ –sysconfdir=/etc

nota: si ustedes manejan un distinto directorio para el db2inst# de db2 cambienlo, el sysconfdir es para indicarle donde colocar los archivos de configuración de PHP y el –with-apxs2 es para habilita la modalidad de Apache 2 Dynamic Server Object (DSO) del acceso de PHP, en el sitio de IBM tenia la ruta /usr/sbin/apxs pero yo no lo encontré ahí y después de buscarlo lo encontré en /usr/bin y funciono bien. además de que en la pagina de IBM instalan apache1.3.

nota 2:Esta linea de configuración es la básica para hacer funcionar PHP con DB2, si ustedes necesitan mas configuraciones añadanlas SI todo sale bien procedemos a realizar el make, tardara un poco

make

ahora con permisos de root modificaremos el archivo /etc/apache2/httpd.conf y añadimos las siguientes lineas

# Dummy LoadModule directive to aid module installations # LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so

añadimos estas lineas por que cuando se instala PHP busca este archivo y busca un sentencia LoadModule para despues añadir la linea de PHP
ahora si como root o con permisos de root aplicamos el siguiente comando

make install

después de que termine la instalación, procedemos a reiniciar apache con el siguiente comando

/etc/init.d/apache2 restart

por default nuestros archivos se encuentran en /var/www, entramos a dicha carpeta y creamos un archivo llamado info.php con el siguiente contenido

y en nuestro navegador colocamos esta url localhost/info.php o 127.0.0.1/info.php y veremos una descripción de los módulos de PHP y veremos un apartado de odbc con nuestra configuración.

Bueno hasta aquí de esta pequeña guía DB2-PHP, en próximos post veremos la conexion de DB2 desde PHP.

Byte.

Share and Enjoy:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • LinkedIn
  • Meneame
  • Technorati
  • Twitter

4 Responses

  1. Hola.
    Me han gustado tus tutoriales, aunque tengo una duda:
    En el caso de que desee conectar desde php a un servidor db2 remoto (no en la misma máquina, en otra), ¿necesito también instalar un cliente db2?

  2. Hola netol, si se puede tener separado DB2 y el PHP y que hagan la conexión, para tener la conexiòn desde donde tienes la maquina con PHP de la forma que puse si debes tener instalado DB2 por que jala blibliotecas que tiene DB2 para funcionar (aun que no lo uses), pero en estos dias pondre un tutorial donde no es necesario tener DB2 instalado y tener el soporte de DB2 en PHP, esto se hace con PECL y con zend core for IBM.

    saludos

  3. ok gracias, sin duda me sería de utilidad ;)

    Por cierto, para conectarme a una BD de un AS400 puedo utilitzar un cliente de Express-C ?

  4. netol supongo que te refieres al center command, si es asi este si permite conectarse a una instalación de DB2 que este en otro servidor, tiene un puerto para conexion, tienes que fijarte de poner los parametros adecuados y que el puerto este abierto.

    Saludos

Leave a Reply