Foros del Web » Programando para Internet » PHP » CodeIgniter »

[SOLUCIONADO] Comandos SSH y obtener resultados

Estas en el tema de Comandos SSH y obtener resultados en el foro de CodeIgniter en Foros del Web. Tengo un CMS propio programado en Codeigniter, pero me encuentro con un problema a la hora de realizar ciertas tareas necesarias desde mi cms con ...
  #1 (permalink)  
Antiguo 22/03/2013, 14:52
Avatar de Dekadence  
Fecha de Ingreso: junio-2011
Mensajes: 15
Antigüedad: 12 años, 10 meses
Puntos: 2
Pregunta Comandos SSH y obtener resultados

Tengo un CMS propio programado en Codeigniter, pero me encuentro con un problema a la hora de realizar ciertas tareas necesarias desde mi cms con el dedicado que la aloja.

Necesito la posibilidad de ejecutar comandos en SSH y obtener sus resultados, como por ejemplo lo hace Webmin, es decir, no obtener el primer resultado o todos los resultados de golpe, si no ir mostrándolos o utilizándolos según se vallan mostrando en la consola.

Por ejemplo, ejecutar una compilación, dicho proceso va mostrando mensajes a lo largo de todo su desarrollo con los detalles y el % de progreso completado, eso es lo que me gustaría ir mostrando en mi web e ir actualizando resultados según se actualice en la consola.

He estado observando que Webmin usa Perl o Phyton, no recuerdo exactamente, lo que me gustaría saber es si podría integrar lo mismo en mi web PHP y en el caso de tener que usar otros tipos de lenguaje que no sean PHP y Javascript, cómo podría integrarlos en mi servidor Apache junto a la aplicación PHP basada en codeigniter.

He intentado varias cosas pero no logro que los resultados se actualicen, solo consigo que se me muestre todo de golpe.

Gracias desde ya, un saludo ^^
  #2 (permalink)  
Antiguo 22/03/2013, 15:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Comandos SSH y obtener resultados

Para ejecutar comandos en PHP se usa exec() o system(), pero este es más limitado. El problema es que PHP recibe la salida hasta que finaliza la ejecución.

Tal vez si creas un script (bash) que ejecute el comando y guarde la salida en un archivo temporal en PHP creas un ciclo para leer el texto y mostrarlo... podría funcionar.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/03/2013, 15:49
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Comandos SSH y obtener resultados

Puedes usar popen o proc_open.La clave está en gestionar los bufferings que hace php y apache, para que no se envíe el output a "saltos".
  #4 (permalink)  
Antiguo 09/04/2013, 16:47
Avatar de Dekadence  
Fecha de Ingreso: junio-2011
Mensajes: 15
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Comandos SSH y obtener resultados

Al final me he decantado por la opción de Triby y con ajax realizando peticiones cada X segundos para leer el .log generado he logrado conseguir más o menos lo que quería.

Siento no poder probar lo que especificas dashtrash, pero se sale de mis conocimientos el manejo de los buffferings, tal vez con un ejemplo podría intentarlo.

Agradezco mucho vuestra ayuda, muchas gracias, un saludo ^^

Etiquetas: comandos, php, resultados, ssh
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 05:10.