PHP - Consulta a oracle, funciona en el terminal pero no en el navegador

 
Vista:

Consulta a oracle, funciona en el terminal pero no en el navegador

Publicado por Angel (9 intervenciones) el 02/12/2013 21:50:56
Hola.
Con un archivo pp.php que contiene:

<?php

exec("sqlplus usu/pass@bd @sintoma.sql tgo 1", $resul);


$pp = $resul[15];
echo "dolarpp".$pp;
?>


Si lo ejecuto en el terminal con #> php pp.php , saca una linea :

dolarpplinea15

Pero si lo ejecuto en el navegador, abriendo directamente la página pp.php, solo saca:

dolarpp (es decir, pierde el valor de la variable)

Me pasa lo mismo si hago la consulta con oci_connect: por consola devuelve los datos pero en el navegador no se ven.

¿Alguna idea de lo por qué ocurre ?. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta a oracle, funciona en el terminal pero no en el navegador

Publicado por xve (6935 intervenciones) el 02/12/2013 22:13:27
Hola Angel, puedes ser por culpa de las rutas?

Desde el script de php, ten en cuenta que no exite la variable path que determina donde estan las aplicaciones...

Prueba algo así:
1
exec("/path/sqlplus usu/pass@bd @sintoma.sql tgo 1", $resul);
poniendo el path correcto de donde se encuentra el binario...

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a oracle, funciona en el terminal pero no en el navegador

Publicado por Angel (9 intervenciones) el 02/12/2013 23:38:15
Muchas gracias, xve

Poniendo el path completo del sqlplus, cuando lo ejecuto en el navegador, ahora me sale:

Enter user-name:

Es decir, que si que parece que hay que poner el path completo. Sigo teniendo el problema de que me pide usuario (supongo que tambien puede estar relacionado con el path de algun modo).

Por otra parte, no entiendo por que al usar oci_connect pasa lo mismo.

Te reitero las gracias por haber contestado tan pronto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta a oracle, funciona en el terminal pero no en el navegador

Publicado por xve (6935 intervenciones) el 03/12/2013 07:25:04
Hola Angel, has puesto también el path entero para acceder al archivo sql? algo así:
1
exec("/path/sqlplus usu/pass@bd @/path/sintoma.sql tgo 1", $resul);

en el anterior mensaje, no pensé en ello...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a oracle, funciona en el terminal pero no en el navegador

Publicado por Angel (9 intervenciones) el 03/12/2013 11:41:08
Hola, xve

El path del archivo sql lo ponía ya desde el principio. El problema estaba en la cadena de conexión. Poniendo el formato <ip>:puerto/sid ya me funciona, tanto la ejecucion con exec como con oci_connect.

Muchisimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar