Foros del Web » Programando para Internet » PHP »

Ejecutar Una Aplicación

Estas en el tema de Ejecutar Una Aplicación en el foro de PHP en Foros del Web. Hola a todos. Tengo Apache+php instalados en Windows2000. Hago un system() a una aplicación que tengo en c:\ y el system me devuelve que se ...
  #1 (permalink)  
Antiguo 30/12/2005, 13:08
 
Fecha de Ingreso: abril-2004
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Ejecutar Una Aplicación

Hola a todos.

Tengo Apache+php instalados en Windows2000. Hago un system() a una aplicación que tengo en c:\ y el system me devuelve que se ha ejecutado (devuelve verdadero=1), pero no hace nada, es decir, que no realiza el ejecutable lo que debe hacer. El ejecutable es correcto, pues lo he probado por separado desde el Windows y va bien (es un .exe). No tengo ni idea porque no va. He probado de todo: he probado con el exec(), con permisos al cmd.exe, cambiar el ejecutable de ruta, ...

Alguien puede ayudarme porfavor. No sé que hacer.


Muchísimas gracias a todos.
  #2 (permalink)  
Antiguo 30/12/2005, 13:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Intenta usar los parámetros de la función exec() que definen el códido de error (si lo hay) y te entregan la salida que origina la ejecución de tu ejecutable externo ..

Un saludo,
  #3 (permalink)  
Antiguo 31/12/2005, 02:58
 
Fecha de Ingreso: abril-2004
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
respuesta a cluster

Hola Cluster.

Muchas gracias por tu contestación, pero he probado ya con system y con exec devolver la salida. Con system me devuelve 1, por lo tanto parece que lo ejecuta sin problemas lo único es que no genera nada el ejecutable, y si ejecutas directamente el ejecutable desde el servidor sí que funciona bien este ejecutable. Si utilizo exec, no me devuelve nada; parece que no hay error pero estamos igual que con system, el ejecutable no hace nada.

No sé si tiene algo que ver pero al ejecutable (.exe) se le pasa un argumento como entrada que ya he verificado que es correcto.

Por si fuese por la ruta en la que está el ejecutable, lo he copiado en c:\ y en el directorio de la página que ejecuta el system o exec; y me sigue haciendo lo mismo.

El servidor rueda con Windows 2000 Server.

En fin estoy perdido porque no sé qué puede ser.

Agradezco cualquier sugerencia.

Muchísimas gracias
  #4 (permalink)  
Antiguo 02/01/2006, 05:21
 
Fecha de Ingreso: abril-2004
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
He Solucionado Algo Pero....

Hola.

He cambiado en el servidor el tema de "safe_mode_exec_dir" y ahora sí puedo decir que me ejecuta el ejecutable pero hay un problema. Resulta que ejecuto mi ejecutable pasándole un argumento con valores separados por "|". Por ejemplo:
$var2=system("incluye EMPRESA1, S.L.'05|400120|PRUEBA1|",$var);

el ejecutable se llama incluye y le paso 3 parámetros separados por "|", incluyendo el último.

Observo siempre que me quita los "caracteres extraños" como por ejemplo: | ó ' ó ; y no es cosa del ejecutable.

He probado ponerle en la cadena la barra invertida \ pero no me hace caso. Parece que le llega al cmd la cadena sin estos "caracteres extraños".

Alguien sabe decirme como puedo solucionar esto por favor??

Muchas 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 09:37.