Instalar soporte para BD Informix en Ubuntu Server 10.04 y XAMPP 1.7.4 como modulo de PHP

La instalación del PDO_INFORMIX funciono pero la experiencia con el PDO no es lo que esperaba (nunca lo había usado) así que como extraño mis connect, fetch_array y fetch_assoc, aqui les dejo como hechar a volar el modulo de Informix en PHP 5.2

Primero el ambiente:

Ubuntu Server 10.04

XAMPP for Linux 1.7.4 con su respectiva versión de desarrollo (xampp-linux-devel-1.7.4)

Despues asignamos la variable de entorno para el informix en el .profile

export INFORMIXDIR=/opt/IBM

PATH=$PATH:$INFORMIXDIR/bin

Esta debe estar seteada antes de instalar el cliente para compilar despues el modulo de informix para PHP

informix:~# export INFORMIXDIR=/opt/IBM

El cliente de informix requiere un usuario de sistema y un grupo antes de ser instalado

informix:~# addgroup –system informix

informix:~# adduser –system informix –ingroup informix

Los paquetes que debemos instalar son: default-jdk rpm make subversion

El cliente de Informix viene con una JVM pero a mi dio error al instalarlo, asi que instalar el ambiente de Java funciono bien para mi.

informix:~# apt-get install default-jdk rpm make subversion

Creamos las carpetas para instalar el cliente de Informix y php_infomix

informix:# mkdir informix_client

infomix:# mkdir php_informix

Descargamos el cliente de Informix en el directorio, hasta donde se no hay manera de realizar esto por consola, yo me registre en IBM y descargue un free trial, el paquete que use lo encontre en el serach del site de IBM como IBM Informix Client SDK V3.00.FC3 for Linux (x86) RHEL 4, 64bit

El archivo que descargue fue clientsdk.3.00.FC3DE.LINUX.tar, el cual despues pase por usb a mi Ubuntu server en el directorios de informix client.

Descomprimimos el cliente

informix:~/informix_client# tar -xvf clientsdk.3.00.FC3DE.LINUX.tar

Corremos el instaaldor del installclientsdk.

informix:~/informix_client# ./installclientsdk

Es necesario cambiar la ruta de instalacion yo utilice /opt/IBM/

De nuevo debemos aceptar un acuerdo de licencia y avanzar en el installer.

Una ves instaaldo el cliente nos movemos al directorio de php_informix.

informix:~/informix_client# cd ../php_informix

Aqui descragamos lso fuentes de php_informix desde svn.

informix:~/php_informix# svn checkout http://svn.php.net/repository/pecl/informix/trunk/

nos movemos al directorio trunk

informix:~/php_informix# cd trunk

Ahora demos configurar e instalar el modulo de Informix.

informix:~/php_informix/trunk# /opt/lampp/bin/phpize –with-php-config=/opt/lampp/bin/php-config

informix:~/php_informix/trunk# ./configure –with-php-config=/opt/lampp/bin/php-config

Antes de seguirnos de filo con el make del modulo, debemos editar el Makefile para asegurarnos que el modulo esta ligado con la libreria de Informix checkapi.o, de otra manera si usamos el modulo nos mandar error de undefined symbol: ifx_checkAPI.

Editamos el Makefile y reemplazamos el valor de la directiva INFORMIX_SHARED_LIBADD con:

-Wl,-rpath,/opt/IBM/informix/lib/esql -L/opt/IBM/informix/lib/esql -Wl,-rpath,/opt/IBM/informix/lib -L/opt/IBM/informix/lib -lifsql -lifasf -lifgen -lifos -lifgls -ldl -lcrypt /opt/IBM/lib/esql/checkapi.o -lifglx

Ahora si podemos construir e instalar el modulo Informix:

informix:~/php_informix/trunk# make && make install

Este debera de instalarse en /usr/lib/php5/20060613. Debemos verificar que este apunta correctamente a la libreria de Informix checkapi.o, parea esto usamos el comando nm , el resultado debe arrojarnos algo como:

informix:~/php_informix/trunk# nm /usr/lib/php5/20060613/informix.so | grep ifx_checkAPI

000000000000bef0 T ifx_checkAPI

Para agregar y habilitar el modulo debemos editar el archivo php.ini que se encuentra en /opt/lampp/etc/

informix:/# nano /opt/lampp/etc/php.ini

# configuration for php INFORMIX module
extension=informix.so

El valor puede ser informix.so o si les manda error traten con “informix.so”

Por supuesto para lograr una conexión aun debemos editar /opt/IBM/etc/sqlhosts, /etc/hosts, y /etc/services todos estos deben tener la configuración para apuntar al server de informix. Además es necesario setear la variable de ambiente para apache INFORMIXDIR en /etc/apache2/apache2.conf.

LAMPP Training – Curso MYSQL

Tenemos dos fechas tentativas para iniciar el curso, el 9 ó 16 de Mayo de 2009 depende del número de interesados. Mínimo 5 personas.

Revisa la encuesta en la parte inferior de la barra lateral para saber que fecha prefieres de inicio del curso.

La idea es impartir todo el training LAMP (Linux, Apache, MySQL y PHP) continuando el impulso al Open Source.

El temario propuesto para MySQL es:

I.- Introducción

  • Historia MySQL.
  • Acerca de GNU/GPL
  • Definición de SQL.
  • Principales características.
  • Herramientas Gráficas.

II.- Trabajando con MySQL

  • Introducción.
  • Conectándose y desconectándose al servidor MySQL.
  • Privilegios de usuarios.
  • Ejecutando algunas consultas.
  • Creando y usando una base de datos.
  • Creando una tabla.
  • Cargando datos en una tabla.
  • Recuperando información de una tabla.
  • Ordenando registros.
  • Cálculos con fechas.
  • Trabajando con valores nulos.
  • Coincidencia de patrones.
  • Conteo de filas.
  • Usando más de una tabla.
  • Usando mysql en modo batch.

III.- MySQL CLI

  • Acceso a un servidor MySQL y administración de la base de datos por línea de comandos.
  • Conectar con el servidor MySQL.
  • Dentro de la consola de MySQL.
  • Otras Sentencias SQL.
  • Para salir de la línea de comandos de MySQL.
  • Información acerca de las bases de datos y las tablas.
  • Tipos de conexiones.

Duración:

6 sesiones, sábados de 09:00 a 13:00 hrs.

Ubicación:

Atizapán de Zaragoza, Estado de México. Se envía croquis por correo electrónico al recibir la confirmación.

El costo por persona es de $ 2,000.

50% en la primera sesión y 50% en la penúltima.

Para cualquier duda o aclaración escribe un comentario en este post.