Foros del Web » Administración de Sistemas » Unix / Linux »

Interactuar con Linea de comando desde PHP

Estas en el tema de Interactuar con Linea de comando desde PHP en el foro de Unix / Linux en Foros del Web. Buenas, Estoy trabajando en un proyecto el cual interactua con iTunes por un Cronjob y requiere una llave de acceso para poder recibir un reporte. ...
  #1 (permalink)  
Antiguo 14/01/2018, 16:47
Avatar de efenollal  
Fecha de Ingreso: abril-2012
Ubicación: Toa Baja
Mensajes: 63
Antigüedad: 12 años, 8 meses
Puntos: 3
Pregunta Interactuar con Linea de comando desde PHP

Buenas,

Estoy trabajando en un proyecto el cual interactua con iTunes por un Cronjob y requiere una llave de acceso para poder recibir un reporte. Esta llave con la contrasena y el usuario se encuentran en un archivo Java llamado Reporter.properties. Para bajar el reporte hago una llamada desde el command line de esta manera:
Código PHP:
$cmd "/usr/bin/java -jar Reporter.jar p=Reporter.properties sales.getReport"
Ahora el problema esta en que cuando se expire la llave de acceso tenemos que generar una nueva y sobre escribir el archivo. La parte del archivo no es el problema, el problema es que cuando llamo el comando para generar la nueva llave:
Código PHP:
$cmd "/usr/bin/java -jar Reporter.jar p=Reporter.properties sales.generateToken"
iTunes me pregunta si la deseo generar.

Como puedo responder de vuelta si (y) o no (n) automaticamente desde mi codigo PHP?

Gracias de antemano!
  #2 (permalink)  
Antiguo 14/01/2018, 19:21
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Linea de comando desde PHP

Hasta donde yo sé php solo puede enviar comandos y no interactuar internamente con un programa, dos opciones responder esa pregunta con algun argumento en el comando ulo usar un programa que responda ese programa.
  #3 (permalink)  
Antiguo 15/01/2018, 08:22
Avatar de efenollal  
Fecha de Ingreso: abril-2012
Ubicación: Toa Baja
Mensajes: 63
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Interactuar con Linea de comando desde PHP

Eso me temia. He estado buscando en la documentacion, pero no especifica si puedo pasar algun argumento. Gracias por la respuesta.
  #4 (permalink)  
Antiguo 15/01/2018, 09:35
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 18 años, 2 meses
Puntos: 6
Respuesta: Interactuar con Linea de comando desde PHP

Hola.

Tendrías que revisar si tu comando es compatible con el modificador "| YES" del S.O. en caso de serlo.

Código PHP:
$cmd "/usr/bin/java -jar Reporter.jar p=Reporter.properties sales.generateToken | YES";  
$result=shell_exec($cmd); 
Podría funcionarte.
__________________
No todo lo que se hace en segundo plano es AJAX
  #5 (permalink)  
Antiguo 16/01/2018, 10:09
Avatar de efenollal  
Fecha de Ingreso: abril-2012
Ubicación: Toa Baja
Mensajes: 63
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Interactuar con Linea de comando desde PHP

Cita:
Hola.

Tendrías que revisar si tu comando es compatible con el modificador "| YES" del S.O. en caso de serlo.

Código PHP:
$cmd = "/usr/bin/java -jar Reporter.jar p=Reporter.properties sales.generateToken | YES";
$result=shell_exec($cmd);
Trate de utilizar el modificador pero no pasa nada. Simplemente no continua. Si lo hago asi:

Código PHP:
"y\n | /usr/bin/java -jar Reporter.jar p=Reporter.properties sales.generateToken"
o cambio el modificador al final responde con:
sh: y: command not found
  #6 (permalink)  
Antiguo 16/01/2018, 17:58
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: Interactuar con Linea de comando desde PHP

A lo que se refería iandrade: el comando adecuado es yes, seguido de la cadena de caracteres a enviar, luego barra vertical y, finalmente, el comando del programa. Por ejemplo:

Código BASH:
Ver original
  1. yes | comando_que_pide_confirmacion
  2. yes Y | comando_que_pide_mayuscula
  3.  
  4. echo "Y\n" | comando_que_ademas_pide_enter

Espero no haber respondido una barbaridad, como el buen alvaro_trewhela, porque definitivamente el tema no tiene que ver con PHP, sino con la ejecución de comandos en Linux.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: cli, cronjob, itunes, php
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 22:20.