Foros del Web » Programando para Internet » PHP »

Llamar rutina/programa con paso de parametros de otro lenguage

Estas en el tema de Llamar rutina/programa con paso de parametros de otro lenguage en el foro de PHP en Foros del Web. Hola, la verdad q no sabia como poner un titulo adecuado. Necesito saber si es posible poder llamar a una programa/rutina de AS/400(RPG) o bien ...
  #1 (permalink)  
Antiguo 18/03/2008, 01:32
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Llamar rutina/programa con paso de parametros de otro lenguage

Hola,
la verdad q no sabia como poner un titulo adecuado.

Necesito saber si es posible poder llamar a una programa/rutina de AS/400(RPG) o bien de Java(en linux), el cual yo le pasare unos parametros y el me tiene q devolver otros.

PHP corre sobre un servidor Linux Debian.

EL proceso seria el siguiente :
Es para un sistema de actualizacion de ficheros con el sistema principal de la empresa. desde PHP tengo q llamar a una programa q actualiza los registros de un fichero, pero a esa rutina tengo q pasarle unos parametros para q sepa q actualizar, esta ya hecha en Java, y tambien en RPG, me gustaria saber si puedo llamar a esas rutinas desde PHP.

Muchas gracias de antemano!

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 18/03/2008 a las 01:43
  #2 (permalink)  
Antiguo 18/03/2008, 02:00
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Re: Llamar rutina/programa con paso de parametros de otro lenguage

www.php.net/exec
  #3 (permalink)  
Antiguo 18/03/2008, 02:06
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Re: Llamar rutina/programa con paso de parametros de otro lenguage

Cita:
Iniciado por DarkJ Ver Mensaje
Hola DarkJ,
gracias por tu rapido respuesta.
Esa funcion ya la tengo vista pero puedo pasarle parametros al programa el cual llamo?
Puedo recibir Parametros devueltos por el programa externo?

La pregunta clave es:
si hay alguna manera de Llamar funciones de java encapsuladas en ficheros .jar?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 18/03/2008 a las 02:29
  #4 (permalink)  
Antiguo 18/03/2008, 02:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Re: Llamar rutina/programa con paso de parametros de otro lenguage

Si, el parametro que pasas a la funcion es la linea de comando que quieres ejecutar. Le pasas lo mismo que escribirias en la linea de comandos para ejecutar el programa, con los parametros que pases a tu programa.
  #5 (permalink)  
Antiguo 18/03/2008, 03:52
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Re: Llamar rutina/programa con paso de parametros de otro lenguage

Hola de nuevo,
Bueno, de momento hice pruebas con mi server local, y cree un .jar, con el tipico Hello world y q me devolviera el parametro pasado y quedo asi:
Código PHP:
<? 
$salida 
shell_exec("java -jar c:\\ProvaPHP.jar Parametro1");
echo 
$salida;
?>
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #6 (permalink)  
Antiguo 24/11/2008, 06:31
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Respuesta: Llamar rutina/programa con paso de parametros de otro lenguage

Hola!
Trabajando bajo windows si ejecuto el comando 'java miPrograma' con shell_exec la salida aparece vacía, sin embargo si lo ejecuto desde linea de comandos funciona a la perfección.
¿Sabeis a que puede deberse?
También he probado con
Código:
exec('java miPrograma', $salida,$retval)
obteniendo una salida vacia y como valor de $retval 1

Ya no sé que hacer, pues otros programas externos los lanza sin problemas incluso si ejecuto
Código:
shell_exec('java')
funciona, el problema viene cuando añado parametros al comando java.exe

Muchas gracias por adelantado
  #7 (permalink)  
Antiguo 24/11/2008, 08:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Llamar rutina/programa con paso de parametros de otro lenguage

hola... puedes usar el operador de evaluación (backtick) para ejecutar tu comando como tal, y asignarlo a una variable

Código PHP:
$foo = `java foo.java`;
print_r($foo); 
espero sirva, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 24/11/2008, 10:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Respuesta: Llamar rutina/programa con paso de parametros de otro lenguage

Funciona!
Muchisimas gracias ^^
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:11.