En Manejo e Implementacion de Archivos se nos dejo trabajar un webservice en mysql y un cliente en oracle, todo iba bien hasta iniciar con oracle, pase 4 o 5 dias viendo que iba mal, pues los tutoriales oficiales no daban resultados, al fin logre armar uno con la documentacion de oracle y otras fuentes, aca lo comparto:
Utilizaremos Ubuntu 11.04, necesitamos como minimo 5GB de espacio libre en disco.
*las lineas en azul deben de introducirse en una terminal como super usuario (root).
Paso 1: agregar los repositorios de oracle para debian unstable
sudo gedit /etc/apt/sources.list
agregamos:
deb http://oss.oracle.com/debian unstable main non-free
a;adimos la llave GPG:
sudo wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install libaio1
Paso 2: Instalar Oracle XE
sudo apt-get install oracle-xe
una vez instalado lo configuramos
sudo /etc/init.d/oracle-xe configure
podemos dejar los valores por default
puerto http:8080
puerto database listener:1521
password system y sys: nuestrapass
Paso 3: instalamos PHP5
sudo apt-get install apache2
sudo apt-get install php5-common php5 php5-dev libapache2-mod-php5 php5-cli
Paso 4: instantclient
Lo descargamos desde la pagina de Oracle:
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html el instaclient Basic y el SDK
creamos una carpeta donde lo almacenaremos
sudo mkdir /opt/oracle
cd /opt/oracle
descomprimimos aca el contenido de client y el sdk, y renombramos la carpeta instantclient_11_2 a instaclient
sudo mv instantclient_11_2 instantclient
cd instantclient
Creamos Links Simbolicos:
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so
Paso 4: Compilar OCI8
Antes con un paquete se podia descargar, pero fue movido de lugar y por lo tanto ya no sirve la instruccion, asi que nos dirigimos a:
http://pecl.php.net/package/oci8y bajamos la version "stable" mas reciente (en este tuto 1.4.5) y la descomprimimos en /usr/local/src
nos movemos a la carpeta en la terminal y ejecutamos:
cd /usr/local/src
cd oci8-1.4.5
phpize
Exportamos la linea
sudo echo export ORACLE_HOME=/opt/oracle/instantclient
luego:
./configure -with-oci8=shared,instantclient,/opt/oracle/instantclient
sudo make
sudo make install
por ultimo, agregamos la extension oci8 al php5.ini
sudo echo extension=oci8.so >> /etc/php5/apache2/php.ini
y reseteamos Apache:
sudo /etc/init.d/apache2 restart
Paso 5: Probar la conexion.
Si seguimos los pasos correctamente, todo esta listo para una prueba de conexion, en la carpeta /var/www , creamos un archivo php, al que llamaremos prueba.php con el siguiente contenido:
<?php
$conn = oci_connect('system','nuestrapass','127.0.0.1/XE');
if($conn){
echo 'it works!';
}
?>
ahora lo que queda es ir a
http://localhost/prueba.phpsi todo marcha bien deberiamos de ver el mensaje de exito.
Eso es todo, ahora ya podemos usar nuestras querys y demas cosas en Oracle, saludos!.