Foros del Web » Programando para Internet » PHP »

ejecutar un programa c++ con php

Estas en el tema de ejecutar un programa c++ con php en el foro de PHP en Foros del Web. Hola, tengo un pequeño problemilla, estoy intentando ejecutar un programa externo escrito en c++(dev c++) con php en windows pero no lo consigo. He probado ...
  #1 (permalink)  
Antiguo 20/03/2008, 08:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo ejecutar un programa c++ con php

Hola,
tengo un pequeño problemilla,
estoy intentando ejecutar un programa externo escrito en c++(dev c++)
con php en windows pero no lo consigo.
He probado con las funciones exec , system y passthru que utilizan comandos
pero no lo consigo.A ver si alguien me podia echar una mano..
Gracias.
  #2 (permalink)  
Antiguo 20/03/2008, 08:46
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: ejecutar un programa c++ con php

Una vez yo lo hice, pero te advierto que si quieres colgarlo a un hosting no funcionará. Bueno, el problema es que el passthru no ejecuta programas, solo comandos DOS. Entonces haz un archivo .bat, con el block de notas. en el cual ejecutas el programa. Luego ejecutas el archivo bat con el passthru. Debes tener cuidado con las rutas y funcionará. Me cuentas como te fue con eso.
  #3 (permalink)  
Antiguo 20/03/2008, 10:15
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

nunca he realizado un fichero .bat , donde lo tendría que ejecutar??
y cómo pongo para que me ejecute el programa c++??
gracias
  #4 (permalink)  
Antiguo 20/03/2008, 10:29
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: ejecutar un programa c++ con php

Solo toma el block de notas y escribe comandos DOS en el. De hecho lo que hacen los archivos bat es ejecutar comandos DOS. Entonces para tu problema solo tendrías que poner el archivo exe en la misma carpeta donde está en php que va a ejecutar el bat. Bien entonces en el archivo bat solo escribes el nombre del archivo exe (de la misma manera como se ejecuta un ejecutable - valga la redundancia - en DOS. Ejecutas el bat escribiendo como parámetro de passtru el nombre del archivo bat. Nada más.
  #5 (permalink)  
Antiguo 21/03/2008, 05:25
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

Hola,
he intentado lo que me dijistes pero supongo que no muy bien (soy novata)..
te cuento:he metido en la carpeta donde esta el php el main.cpp y el main.exe.
He creado un pruba1.bat alli que contiene
cd c:\Archivos de Programa\MySql\MySql Server 5.0\data\prediccion
main
y en el php he puesto:
$path='c:\Archivos de Programa\MySql\MySql Server 5.0\data\prediccion\prueba1.bat';
echo passthru($path);
y el ejecutarlo en el mozilla firefox se me queda colgado...
además no se si esto me sacará la función que me sale al ejecutar el main.cpp...
bueno muchas gracias por tu ayuda
  #6 (permalink)  
Antiguo 21/03/2008, 06:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

perdon me he equivocado:
el prueba1.dat lo he puesto en c y en php he puesto
$path='c:\\prueba1.bat';
echo passthru($path);
y se me queda colgado....
  #7 (permalink)  
Antiguo 21/03/2008, 10:15
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: ejecutar un programa c++ con php

Para qué te complicas amiga. Para qué pones toda la ruta si basta con el nombre del archivo si se encuentra en la carpeta actual. En primer lugar no tiene porque estar en la carpeta el archivo cpp, ese no se ejecuta, ese es el código fuente. En segundo lugar, te daré los códigos: Bien, digamos que el ejecutable hecho en c++ se llame main.exe. Entonces en el bat colocas solamente esto: "main" y lo guardas como main.bat, en el php deberías colocar esto:

passtru("main.bat");

Es es todo, es tan simple porque todos los archivos están en la misma carpeta. No hace falta poner la ruta completa. Prueba con eso.
  #8 (permalink)  
Antiguo 21/03/2008, 16:28
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

Hola!
gracias ante todo.
He intentado lo que me dijistes,
pero se me sigue quedando colgado.
Pone todo el rato cargando(esperando localhost)...
y no tengo ni idea de porque puede ser...
  #9 (permalink)  
Antiguo 21/03/2008, 19:17
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: ejecutar un programa c++ con php

Estás segura que lo estás probando en windows? Bien te dije que eso solo funciona en windows.
  #10 (permalink)  
Antiguo 22/03/2008, 05:01
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

Si, estoy trabajando en windows.
En un servidor que está instalado apache al cual accedo con vcnviewer desde mi ordenador.
Al ejecutarlo con mozilla se me queda todo el rato cargando.
Al alguna otra forma de hacerlo.Es que necesito aprender a lanzar aplicaciones
desde php...
Gracias
  #11 (permalink)  
Antiguo 22/03/2008, 16:19
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: ejecutar un programa c++ con php

Pues dije todo lo que sabía al respecto y a lo mejor el problema sea otra cosa. Lastima que no soy mago para ir a tu casa y ayudarte personalmente.
  #12 (permalink)  
Antiguo 23/03/2008, 06:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

Gracias de todas formas.
Cuando consiga sacarlo te digo
  #13 (permalink)  
Antiguo 23/03/2008, 10:38
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: ejecutar un programa c++ con php

puede que tu codigo en C no te entrege correctamente los datos, estas segura de que esta bien tu codigo???
__________________
Nuevamente a las pistas ...
  #14 (permalink)  
Antiguo 23/03/2008, 15:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

si, pense que era por el código y probé con el Hello word pero nada....
se me queda el mozilla colgado , esperando localhost....
  #15 (permalink)  
Antiguo 23/03/2008, 16:46
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: ejecutar un programa c++ con php

Siempre dices que te queda colgado en Mozila, quieres decir que con otros navegadores corre normal?
  #16 (permalink)  
Antiguo 24/03/2008, 10:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

no también he probado con el explorer y se queda todo el rato cargando.
  #17 (permalink)  
Antiguo 24/03/2008, 10:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: ejecutar un programa c++ con php

Revisa este aporte: http://www.forosdelweb.com/f18/liberar-cliente-565600/

Saludos.
  #18 (permalink)  
Antiguo 26/03/2008, 06:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: ejecutar un programa c++ con php

he mirado lo que me dijistes y he probado con
$linea_comandos = "start programa_a_ejecutar.exe [parametros si tiene]";
pclose(popen($linea_comandos, "w"));
y si que termina el proceso pero yo lo que quiero es que me lo muestre
y al ponerselo me muestra siempre 0...
como lo muestro??
es que luego quiero que el resultado me lo coja otro programa
gracias
  #19 (permalink)  
Antiguo 12/12/2008, 10:00
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 18 años, 10 meses
Puntos: 10
Respuesta: ejecutar un programa c++ con php

Hola ... tengo el mismo problema ... de hecho mi programa en C es un simple "hola mundo" y en php tengo:
Código PHP:
$lvResult2 null;
$lvResult3 null;
$lvResult exec'__wlcm.bat'$lvResult2$lvResult3 );

echo 
'Resultado:<br />';
echo 
$lvResult '<br />';
echo 
'------------------<br /><br />';

if( !
is_array$lvResult2 ) )
  echo 
'Salida: ' $lvResult2 '<br />';
else
{
  echo 
'inside 2:<br />';
  foreach( 
$lvResult2 as $x => $y )
    echo 
$x '=>' $y '<br />';
    
  echo 
'------------------<br /><br />';
}

echo 
'Salida: ' $lvResult3 '<br />'
Lo curioso es que como salida obtengo "-1073741515" ... Al ejecutar el programa directamente en línea de comandos no marca ningún error ni cosas parecidas.

¿Alguna idea?, gracias de antemano!
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:27.