Categorías > Lenguajes > PHP > Como ejecutar un programa en Python desde PHP [Solucionado] ...
Nuevo Mensaje | Responder
mandrake


134 envíos
Desconectado
1522 lecturas
0 respuestas
Como ejecutar un programa en Python desde PHP [Solucionado]12-08-2010 a las 14:57:30

Hola que tal gente,

tengo una interrogante... ¿Cómo ejecuto una aplicación desarrollada en Python, desde PHP?

Por ejemplo; si deseo enviar un mail a X numero de personas. Tomo los mail de cada persona; mediante php que los toma de un formulario. Bueno, sucede que no deseo usar PHP para enviar los mail, sino que deseo llamar a una aplicación en Python para que haga este trabajo.

¿Cómo le hago...?

jeje...dando vueltas por ubuntu-es.org y gracias al usuario tRaCk3; he logrado satisfacer mi interrogante.




¡Solución!
En el siguiente ejemplo, llamamos a una aplicación Python desde PHP.

Código Python (yo lo he puesto en /var/www/ aunque me imagino que lo podes tener en cualquier parte de tu sistema)

#! /usr/bin/env python
print "HOLA MUNDO; Soy Python me han llamado desde PHP"
Código PHP

<?php
$output = array(); //contendrá cada linea salida desde la aplicación en Python

/*Utilizando exec y enviando le el comando para ejecutar la aplicación
*solo hará que se ejecute mas no se mostrará nada...
*/

//exec("python /var/www/holamundo.py");

/*Usando exec, pero agregando le como parametro además del comando para  ejecutar la aplicación un arreglo; tendriamos la salida de nuestra aplicación en dicho arreglo; así que recorriendo e imprimiendo cada subindice del arreglo se mostraria la salida de nuestra aplicación en python utilizando php
*/

exec("python /var/www/holamundo.py", $output);
echo $output[0];
?>
Espero le sea de ayuda a alguien..

pd: Perdonen soy un poco malo explicando

"Cuando estás en un atasco de tráfico con un Porsche, todo lo que puedes hacer es consumir más combustible que el resto estando parado. La escalabilidad va de construir carreteras más anchas, no coches más rápidos"
Responder | Citar | Moderar | Mensaje Privado
Training Channel
Este mensaje no tiene respuestas