Compilar php5 oracle instant client oci8 (lenny)

Ir abajo

(Lenny) Compilar php5 oracle instant client oci8 (lenny)

Mensaje  Franklin Pereira el Miér Jul 08, 2015 12:33 pm

Para conectarse a una base de datos Oracle con PHP 5, se puede hacer a través del "Oracle Instant Client" y el modulo oci8 de pear.

Primero se debe descargar los paquetes "Basic" y "SDK"

   * instantclient-basic-linux32-10.2.0.3-20061115.zip
   * instantclient-sdk-linux32-10.2.0.3-20061115.zip
   * oci8-1.4.1.tgz

Creamos directorios y descomprimimos

Código:
mkdir -p /opt/oracle/instantclient
Código:
cd /opt/oracle/instantclient
Código:
unzip instantclient-basic-linux32-10.2.0.3-20061115.zip
Código:
unzip instantclient-sdk-linux32-10.2.0.3-20061115.zip

Agregamos las librerías de oracle a las librerías del sistema
Código:
echo /opt/oracle/instantclient >> /etc/ld.so.conf
Código:
ldconfig

Creamos los vínculos simbólicos en caso de que el comando anterior no lo haya hecho:

Código:
cd instantclient_10_2
Código:
ln -s libclntsh.so.10.1 libclntsh.so
Código:
ln -s libocci.so.10.1 libocci.so

Instalamos paquetes necesarios para la configuración del módulo oci8, entre ellos Pear
Código:
apt-get install php-pear php5-dev build-essential

Crear las variables de entorno
Código:
vi /etc/bash.bashrc

agregar al final del archivo las siguientes lineas
Código:

ORACLE_HOME=/opt/oracle/instantclient/instantclient_10_2
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=/opt/oracle/instantclient/instantclient_10_2
export LD_LIBRARY_PATH
LD_RUN_PATH=/opt/oracle/instantclient/instantclient_10_2
export LD_RUN_PATH

para que los cambios tengan efectos
Código:
./etc/bash.bashrc

Código:
cd /usr/local/src

instalar dependencias y código fuente
Código:
apt-get build-dep php5
Código:
apt-get source php5
Código:
cd php5-5.2.6.dfsg.1/

copiar dentro de esta carpeta el oci8
Código:
tar -xzf oci8-1.4.1.tgz
Código:
cd oci8-1.4.1
Código:
phpize
Código:
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient/instantclient_10_2
Código:
make
Código:
make install
Código:
cd ..
Código:
dpkg-buildpackage -uc -b

Código:
dpkg -i libapache2-mod-php5_5.2.6.dfsg.1-1+lenny9_i386.deb
php5_5.2.6.dfsg.1-1+lenny9_all.deb
php5-cgi_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-cli_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-common_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-curl_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-dev_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-gd_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-mcrypt_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-mhash_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-odbc_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-recode_5.2.6.dfsg.1-1+lenny9_i386.deb
php5-snmp_5.2.6.dfsg.1-1+lenny9_i386.deb
Luego activamos el módulo oci8 en el archivo php.ini (/etc/php5/apache2/php.ini and /etc/php5/cli/php.ini), con la siguiente línea:

Código:
echo extension=oci8.so >> /etc/php5/apache2/php.ini

Este paso tarde o temprano tendrá que ejecutarse, asi que mejor de una vez configuramos el archivo  tnsnames.ora
Código:

mkdir -p /opt/oracle/instantclient/instantclient_10_2/network/admin

Editamos el tnsnames.ora de acuerdo a nuestras necesidades.

Código:
vi /opt/oracle/instantclient/instantclient_10_2/network/admin/tnsnames.ora

editar el archivo /etc/init.d/apache2

comentar la siguiente línea

Código:
ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"

agregar lo siguiente
Código:

ENV="env -i LANG=C PATH=/bin:/usr/bin:/usr/local/bin: ORACLE_HOME=/opt/oracle/instantclient/instantclient_10_2 LD_LIBRARY_PATH=$ORACLE_HOME NLS_LANG=SPANISH_VENEZUELA.WE8ISO8859P1 NLS_NUMERIC_CHARACTERS=".,""

guardar los cambios.

editar el archivo del virtualhost ubicado en la siguiente dirección:
Código:
/etc/apache2/sites-enabled/

según la codificación.

Código:
AddDefaultCharset ISO-8859-1
Código:
AddDefaultCharset UTF-8


Ahora se procede a reiniciar Apache y listo Smile , podemos auxiliarnos de phpinfo() para comprobar que el módulo oci8 está cargado.
ejemplo:
Código:
vi phpinfo.php

ingresar la siguiente linea:
Código:
<?php phpinfo()?>

_________________
[Tienes que estar registrado y conectado para ver esa imagen]
¿Algun Problema? [Tienes que estar registrado y conectado para ver este vínculo]
Invitado Sabias que esta comunidad esta desde el Lun Jul 16, 2012 3:04 pm y tiene 2223 Días
avatar
Franklin Pereira
Admin

Mensajes : 199
Fecha de nacimiento : 12/04/1993
Fecha de inscripción : 19/07/2012
Localización : Venezuela

Ver perfil de usuario http://foro-frankpereira.sytes.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.