Suponiendo que ya tenemos php y apache instalado.... y ademas el php-devel..
Bajamos el software necesario
PDO_INFORMIX
wget http://www.pecl.php.net/get/PDO_INFORMIX-1.0.0.tgz
CLIENTSDK (Este lo bajamos de la pagina de IBM)
Estoy bajando el clientsdk 3.50 para linux
wget https://www6.software.ibm.com/sdfdl/2v2/regs2/mstadm/informix/Xa.2/Xb.YBTN_DlRXFKwTCASDUCuTIzG9nBE2ljgzDX5wOgGgA/ Xc.clientsdk.3.50.UC6DE.LINUX.tar/Xd./Xf.LPr.D1vk/Xg.5460083/Xi.ifxdl/XY.regsrvs/XZ.5IIqhcVs4h1rpp-U1CfrE01dxuA/clientsdk.3.50.UC6DE.LINUX.tar
Descomprimimos el software en alguna carpeta temporal..
(PDO)
tar zxf PDO_INFORMIX-1.0.0.tgz
(Client SDK)
tar zxf clientsdk.3.50.UC6DE.LINUX.tar
Necesitamos crear un grupo y un usuario de nombre informix (ambos)
groupadd informix
useradd -g informix -p passwordQueQuieras
El home del usuario informix debe ser el mismo donde se instalara el cliente de informix (csdk)
por default se instala en /opt/IBM, pero lo dejaremos en /opt/informix
Puedes especificarle el directorio home al usuario al crearlo, o bien cambiarlo en
el archivo /etc/passwd
Ejemplo, esta es la linea del usuario informix en el archivo /etc/passwd
informix:x:1002:1003::/opt/informix:/bin/sh
/opt/informix es el directorio home para este usuario, si desearas cambiarlo, solo edita esa linea.
Creamos el directorio donde se instalara el clientsdk de informix
mkdir /opt/informix
Hacemos dueño a informix de su carpeta.
chown informix.informix /opt/informix
chown informix.informix /opt/informix
/ETC/PROFILE
En /etc/profile damos de alta las variables de ambiente de para el directorio de informix
INFORMIXDIR=/opt/informix
export INFORMIXDIR
PATH=$PATH:$INFORMIXDIR/bin
export PATH
despues de guardar /etc/profile
hacemos un source /etc/profile para refrescar las variables
Ahora vamos a la carpeta donde bajamos el source del pdo y del cliente sdk
y los descomprimimos
tar -xvf PDO_INFORMIX-1.0.0.tgz
tar -xvf clientsdk.3.50.UC6DE.LINUX.tar
Instalamos el clientsdk
nos vamos a la carpeta descomprimida de clientsdk
y tecleamos
./installclientsdk
Cuando nos pida en que directorio instalar, nos dara por default /opt/IBM
pero como la variable INFORMIXDIR la apuntamos a /opt/informix, estas deben de coincidir
asi que hay que cambiar la ruta propuesta par que quede instalado en /opt/informix.
En caso de que nos marque el siguiente error :
The wizard cannot continue because of the following error: could not load wizard specified in /wizard.inf (104)
La opcion es ejecutar el instalador asi:
sudo ./installclientsdk -console -javahome .jvm.bin
Este error pasa porque el instalador no encuentra el JRE, entonces nomas le decimos donde buscarlo con el parametro -javahome, me parece que el instalador trae un jre, entonces este parametro supongo que le esta diciendo que de ahi lo tome.
Ahora sigue compilar el modulo PDO_INFORMIX
nos vamos a la carpeta donde descomprimimos el PDO_INFORMIX
y tecleamos primeramente el phpize (debes estar dentro de la carpeta que contiene el PDO)
phpize
Si el anterior comando te marca que el phpize no existe, entonces debes de instalar el php-devel
apt-get install php-devel
o bien
apt-get install php5-devel
Reinicia tu Debian...
vuelve a entrar a la carpeta donde descomprimiste el PDO_INFORMIX
(Ejem: Escritorio/PDO_INFORMIX-1.2.6/PDO_INFORMIX-1.2.6 )
teclea nuevamente phpize
luego teclea esto:
./configure
Aqui puede haber otro error, puede ser que te marque que no encuentra la variable de ambiente INFORMIXDIR, si es asi entonces corre el comando de esta forma especificando el opt informix:
sudo ./configure --with-pdo-informix=/opt/informix (/opt/informix es donde instalamos el client sdk)
Es posible que aqui te marque un error de que no encuentra el php_pdo_driver.h en determinada linea, si te lo marca, entonces
edita el archivo configure y ubica las lineas siguientes:
elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then
pdo_inc_path=$prefix/include/php/ext
else
as_fn_error "Cannot find php_pdo_driver.h." "$LINENO" 5
Cambialas por:
elif test -f $prefix/include/php5/ext/pdo/php_pdo_driver.h; then
pdo_inc_path=$prefix/include/php5/ext
else
as_fn_error "Cannot find php_pdo_driver.h." "$LINENO" 5
Observa que unicamente cambiamos la carpeta php por php5
Guarda y vuelve a intentarlo
./configure
make
make install
Si no te marco ningun error, entonces ya terminamos de compilar este modulo
te debio haber generado un archivo llamado asi: pdo_informix.so en la carpeta modules de la carpeta actual.
Ahora hay que copiar el archivo o modulo pdo_informix.so a la carpeta donde tengas instalados
los modulos dinamicos, en mi debian los tengo en /usr/lib, si no sabes donde estan dichos modulos
entonces revisa tu archivo php.ini y busca la linea extension_dir, el archivo php.ini, comunmente en debian esta en la ruta /etc/php5/apache2
Una vez que hayas copiado tu modulo a la carpeta de modulos, lo que sigue es editar el archivo PDO.INI paraa
especificar la extension de pdo_informix.so
el archivo pdo.ini se encuentra en: /etc/php5/conf.d/pdo.ini
Editalo y agrega esta linea -> extension=pdo_informix.so
Quedaria algo asi como esto:
; configuration for php PDO module
extension=pdo.so
extension=pdo_informix.so
ahora vamos a dar de alta los servicios en el archivo /etc/services
Agrega al final los puertos 1526 y 1527. ejemplo:
# Local services
aplicaexec 1526/tcp
sqlexec2 1527/tcp
Tambien necesitamos editar el archivo sqlhosts ubicado en /opt/informix/etc/sqlhosts
Editalo y agrega la siguiente configuracion:
nombredeinstancia onsoctcp ipdetuservidor sqlexec2
nombredeinstancia onsoctcp ipdetuservidor aplicaexec
nombredeinstancia= nombre de la instancia a la que te conectaras en informix
onsoctcp es el protocolo
slqexec2 es el nombre del serviciio en linux, especificado anteriormente en /etc/services
Aun nos falta especificar las variables de ambiente en apache, para el caso de Debian, estas se definen en el archivo envvars, el cual se encuentra en la ruta:
/etc/apache2/envvars
Editalo y agrega las siguientes lineas:
INFORMIXDIR=/opt/informix
export INFORMIXDIR
DB_LOCALE=es_es.8859-1
export DB_LOCALE
Parece ser que ya esta todo listo, procedamos a LA VERIFICACION DE CONFIGURACION
Vamos a verificar que se haya cargado el modulo pdo_informix
para ello puedes crear un script de php con el siguiente contenido:
nano miConfiguracion.php
phpinfo();
?>
Ejecutalo desde un navegador y busca la seccion de PDO, debe aparecer asi :
PDO drivers => informix, mysql, odbc, sqlite
pdo_informix
pdo_informix support => enabled
En la seccion de Environment, debe de aparecerte la variable de ambiente INFORMIXDIR, ASI:
Seccion de Environment
Te debe mostrar la variable de ambiente de INFORMIXDIR
INFORMIXDIR => /opt/IBM/informix
Esta info fue obtenida con phpinfo();
Si es asi, entonces ya quedo listo tu pdo_informix en debian lenny.
1 comentario:
no se en que me estoy equivocando pero no logro instalar el pdo y lo necesito urgente
Publicar un comentario