Internet tiene toneladas de contenido alrededor de este tema en los más variados lenguajes. Foros, blogs, comentarios, etc literalmente hablando ríos de bits. Este documento presenta un procedimiento completo para lograr el objetivo: Configurar el soporte Oracle en el servicio de páginas web basado en apache y php en un servidor Linux Fedora 10. El proceso que documento, funcionó adecuadamente para mí.
Para su completa comprensión, el lector debería poseer excelentes conocimientos -trataré de no ser exigente en esto- en el sistema operativo linux (cualquier distribución de linux que gestione paquetes rpm e incorpore la utilidad yum aplica. El proceso, como su nombre lo dice está documentado para Linux Fedora 10 aunque debo confesar que Linux Slackware es mi favorita). Una recomendación muy importante: No utilice este procedimiento en ambientes de producción sin antes haberlo ejecutado en un servidor de pruebas. Uselo bajo su completa responsabilidad y riesgo.
Contenido
1. Requerimientos Previos PHP 2. Requerimientos Previos Oracle 3. Instalación del Cliente Oracle 4. Instalación de instantclient (basic & devel) 5. Fijar el ambiente Oracle 6. Generación del Módulo OCI 7. Actualización del archivo de configuración de php 8. Reiniciar Apache 9. Verificar soporte de Oracle en PHP
Eso es todo!!!
1. Requerimientos Previos PHP
Debemos obtener una full Instalación de estos paquetes en nuestro server (ver lista)
php.i386 5.2.6-5 installed php-Smarty.noarch 2.6.20-2.fc10 installed php-bcmath.i386 5.2.6-5 installed php-channel-phing.noarch 1.0.0-5.fc9 installed php-channel-phpdb.noarch 1.0.0-4.fc8 installed php-channel-phpunit.noarch 1.0-2.fc7 installed php-channel-symfony.noarch 1.0.0-2.fc9 installed php-cli.i386 5.2.6-5 installed php-common.i386 5.2.6-5 installed php-devel.i386 5.2.6-5 installed php-gd.i386 5.2.6-5 installed php-imap.i386 5.2.6-5 installed php-ldap.i386 5.2.6-5 installed php-mcrypt.i386 5.2.6-5 installed php-mhash.i386 5.2.6-5 installed php-mysql.i386 5.2.6-5 installed php-pdo.i386 5.2.6-5 installed php-pear.noarch 1:1.7.2-2.fc10 installed php-pear-Auth.noarch 1.6.1-8.fc10 installed php-pear-Auth-OpenID.noarch 2.1.1-6.fc9 installed php-pear-Auth-RADIUS.noarch 1.0.6-1.fc10 installed php-pear-Auth-SASL.noarch 1.0.2-4.fc6 installed php-pear-Auth-radius.noarch 1.6.1-8.fc10 installed php-pear-Auth-samba.noarch 1.6.1-8.fc10 installed php-pear-Benchmark.noarch 1.2.7-1.fc8 installed php-pear-Cache.noarch 1.5.5-1.fc10 installed php-pear-Cache-Lite.noarch 1.7.4-1.fc10 installed php-pear-Console-Color.noarch 1.0.2-2.fc10 installed php-pear-Console-Getargs.noarch 1.3.4-1.fc8.1 installed php-pear-Console-ProgressBar.noarch 0.5.2-0.2.beta.fc10 installed php-pear-Console-Table.noarch 1.1.3-1.fc10 installed php-pear-Crypt-CHAP.noarch 1.0.1-1.fc7 installed php-pear-DB.noarch 1.7.13-1.fc8 installed php-pear-DB-DataObject.noarch 1.8.8-2.fc10 installed php-pear-DB-DataObject-FormBuilder.noarch php-pear-DB-QueryTool.noarch 1.1.2-1.fc9 installed php-pear-Date.noarch 1.4.7-2.fc7 installed php-pear-Date-Holidays.noarch 0.20.1-1.fc10 installed php-pear-Date-Holidays-USA.noarch 0.1.1-1.fc10 installed php-pear-Event-Dispatcher.noarch 1.0.0-2.fc10 installed php-pear-File.noarch 1.3.0-1.fc8 installed php-pear-File-Find.noarch 1.3.0-1.fc9 installed php-pear-File-Passwd.noarch 1.1.6-3.fc10 installed php-pear-File-SMBPasswd.noarch 1.0.2-2.fc10 installed php-pear-HTML-Common.noarch 1.2.4-2.fc10 installed php-pear-HTML-QuickForm.noarch 3.2.10-1.fc9 installed php-pear-HTML-QuickForm-ElementGrid.noarch php-pear-HTML-QuickForm-advmultiselect.noarch php-pear-HTML-Table.noarch 1.8.2-1.fc9 installed php-pear-HTTP.noarch 1.4.1-2.fc10 installed php-pear-HTTP-Client.noarch 1.1.1-1.fc10 installed php-pear-HTTP-Request.noarch 1.4.3-1.fc10 installed php-pear-HTTP-Upload.noarch 0.9.1-2.fc9 installed php-pear-Image-Canvas.noarch 0.3.1-2.fc10 installed php-pear-Image-Color.noarch 1.0.2-5.fc10 installed php-pear-Image-Graph.noarch 0.7.2-4.fc10 installed php-pear-Image-GraphViz.noarch 1.2.1-4.fc10 installed
hp-pear-Log.noarch 1.11.3-1.fc10 installed php-pear-MDB2.noarch 2.4.1-2.fc9 installed php-pear-MDB2-Driver-mysql.noarch 1.4.1-3.fc9 installed php-pear-MDB2-Driver-mysqli.noarch 1.4.1-3.fc9 installed php-pear-MDB2-Driver-pgsql.noarch 1.4.1-1.fc10 installed php-pear-Mail.noarch 1.1.14-2.fc8 installed php-pear-Mail-Mime.noarch 1.5.2-4.fc10 installed php-pear-Mail-mimeDecode.noarch 1.5.0-3.fc9 installed php-pear-Math-Stats.noarch 0.9.0-0.2.beta3.fc10 installed php-pear-Net-Curl.noarch 1.2.5-1.fc10 installed php-pear-Net-DIME.noarch 1.0.1-1.fc10 installed php-pear-Net-DNS.noarch 1.0.0-2.fc10 installed php-pear-Net-FTP.noarch 1.3.7-1.fc10 installed php-pear-Net-IPv4.noarch 1.3.0-2.fc10 installed php-pear-Net-POP3.noarch 1.3.6-2.fc7 installed php-pear-Net-Ping.noarch 2.4.3-1.fc9 installed php-pear-Net-SMTP.noarch 1.3.2-1.fc10 installed php-pear-Net-Sieve.noarch 1.1.6-1.fc10 installed php-pear-Net-Socket.noarch 1.0.9-1.fc10 installed php-pear-Net-Traceroute.noarch 0.21.1-3.fc10 installed php-pear-Net-URL.noarch 1.0.15-1.fc8 installed php-pear-Net-URL-Mapper.noarch 0.9.0-2.fc9 installed php-pear-Net-UserAgent-Detect.noarch 2.5.0-1.fc10 installed php-pear-Numbers-Roman.noarch 1.0.2-2.fc9 installed php-pear-Numbers-Words.noarch 0.15.0-4.fc10 installed php-pear-PEAR-Command-Packaging.noarch 0.1.2-6.fc10 installed php-pear-PHP-CodeSniffer.noarch 1.1.0-0.1.RC2.fc10 installed php-pear-PHP-Compat.noarch 1.5.0-2.fc10 installed php-pear-PHP-CompatInfo.noarch 1.8.1-1.fc10 installed php-pear-PHPUnit.noarch 3.3.2-1.fc10 installed php-pear-Pager.noarch 2.4.7-1.fc10 installed php-pear-Payment-Process.noarch 0.6.6-1.fc10 installed php-pear-Phlickr.noarch 0.2.7-3.fc10 installed php-pear-PhpDocumentor.noarch 1.4.2-1.fc10 installed php-pear-PhpDocumentor-docs.noarch 1.4.2-1.fc10 installed php-pear-SOAP.noarch 0.12.0-1.fc10 installed php-pear-Services-Weather.noarch 1.4.3-1.fc10 installed php-pear-Structures-DataGrid.noarch 0.9.0-3.fc10 installed php-pear-Structures-DataGrid-DataSource-Array.noarch php-pear-Structures-DataGrid-DataSource-DataObject.noarch php-pear-Structures-DataGrid-DataSource-MDB2.noarch php-pear-Structures-DataGrid-DataSource-RSS.noarch php-pear-Structures-DataGrid-Renderer-Pager.noarch php-pear-Structures-DataGrid-Renderer-Smarty.noarch php-pear-Validate.noarch 0.8.1-1.fc9 installed php-pear-Validate-Finance-CreditCard.noarch php-pear-Var-Dump.noarch 1.0.3-2.fc10 installed php-pear-XML-Beautifier.noarch 1.2.0-1.fc10 installed php-pear-XML-Parser.noarch 1.3.1-1.fc10 installed php-pear-XML-RSS.noarch 0.9.10-5.fc10 installed php-pear-XML-Serializer.noarch 0.18.0-4.fc10 installed php-pear-XML-Util.noarch 1.2.0-1.fc10 installed php-pear-creole.noarch 1.1.0-5.fc8 installed php-pear-pake.noarch 1.1.4-3.fc9 installed php-pear-phing.noarch 2.3.0-1.fc9 installed php-pear-propel_generator.noarch 1.3.0-1.fc10 installed php-pear-propel_runtime.noarch 1.3.0-1.fc10 installed php-pecl-radius.i386 1.2.5-5.fc10 installed php-pecl-xdebug.i386 2.0.3-4.fc10 installed php-pgsql.i386 5.2.6-5 installed php-soap.i386 5.2.6-5 installed php-xml.i386 5.2.6-5 installedd
2. Requerimientos Previos Oracle
Obtener los siguientes archivos:
oracle-xe-client-10.2.0.1-1.0.i386.rpm (obtenido de oracle.com) oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm (obtenido de oracle.com) oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm (obtenido de oracle.com) oci8-1.3.4.tgz.gz (obtenido de PECL, PECL is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions)
3. Instalación del Cliente Oracle
rpm -ivh oracle-xe-client-10.2.0.1-1.0.i386.rpm
4. Instalación de instantclient (basic & devel)
rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm rpm -ivh oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
5. Fijar el ambiente Oracle
Esto puede variar de acuerdo a como ud tenga su server.
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client LD_LIBRARY_PATH=/usr/lib/oracle/11.1/client/lib:/lib:/usr/lib ORACLE_BASE=/usr/lib/oracle/xe/app/oracle export ORACLE_HOME LD_LIBRARY_PATH ORACLE_BASE
6. Generación del Módulo OCI
a. Descomprimimos el paquete oci8-1.3.4.tgz.gz
tar zxvf oci8-1.3.4.tgz.gz
b. Cambiamos de directorio
cd oci8-1.3.4
c. Preparamos el módulo para que sea generado para php
phpize
d. compilamos e instalamos:
./configure -with-oci8=shared,instantclient,/usr/lib/oracle/11.1/client/lib/
make install
7. Actualización del archivo de configuración de php
vim /etc/php.ini
agregar la línea
extension=oci8.so
8. Reiniciar Apache
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
9. Verificar soporte de Oracle en PHP
subímos un script que contenga las iguientes líneas
<?php phpinfo(); ?>
Lo corremos desde un navegador (browser) y debemos obtener en parte esta salida (ver imágen abajo), la cual es mucho más extensa que lo que muestra la pantalla, pues la imágen sólo contiene la parte relacionada con Oracle.
Eso es todo!!!
Cordial Saludo y sinceramente espero que este documento sea de utilidad,
Solón Cáceres Moreno
Ingeniero de Sistemas UIS Web Site: http://solca-ws.bogotanos.net
Imágen: Salida de phpinfo - Sección Oracle

|