Foros del Web » Programando para Internet » PHP »

exec se queda pensando

Estas en el tema de exec se queda pensando en el foro de PHP en Foros del Web. hola amios hice un ejecutable que quiero ejecutarlo por medio del PHP y cuando lo corro en firefox este se queda pensando, veo en el ...
  #1 (permalink)  
Antiguo 23/09/2013, 14:55
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
exec se queda pensando

hola amios

hice un ejecutable que quiero ejecutarlo por medio del PHP y cuando lo corro en firefox este se queda pensando, veo en el administrador de tareas que el archivo exe esta cargado, pero no funca


para probar hice este código PHP:

exec("C:\WINDOWS\system32\notepad.exe");
echo 'OKKK ';

nada de nada se queda pensando

la configuracion de mi php.ini es :

safe_mode= off
safe_mode_exec_dir= On

en el Apache

Modifique el servicio del apache para darle permisos para permitir al servicio "interactuar con el escritorio", para ello hacemos click en el botón Inicio->Ejecutar y escribimos "Services.msc" haremos click en "Inicio sesión" y marcaremos la opción "Permitir a los servicios que interactúen con el escritorio".

nose que mas me falta, ni siquiera el notepad puedo hacerlo correr

gracias por sus sugerencias
  #2 (permalink)  
Antiguo 23/09/2013, 21:57
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: exec se queda pensando

Es muy mala idea ejecutar comandos de escritorio desde PHP, porque PHP se ejecuta en un servidor y no en un escritorio.

Vamos a suponer que logres hacerlo funcionar, no le veo utilidad a abrir un bloc de notas desde el navegador.

Por tanto, sería mejor que aclares lo que realmente quieres hacer; muchos de nosotros hemos usado exec() para ejecutar scripts de respaldo, mantenimiento de la base de datos, conversión de archivos, etc. y no es tan difícil.

Por cierto, el navegador se queda "pensando" porque la función exec() no devuelve el control al script hasta que el programa ejecutado haya finalizado, por eso es que generalmente se deben ejecutar en segundo plano:

Código PHP:
Ver original
  1. // >/dev/null &  ---- Esto es lo que hace que se ejecute en segundo plano
  2. exec("comando.exe> /dev/null &");

Nota: Esto no garantiza que el comando sea ejecutado, pero sí que el script recupere el control y no deje al navegador "pensando".
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/09/2013, 23:08
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: exec se queda pensando

gracias Triby,

el ejecutar el notepad es para hacer una prueba si funca o no
en efecto es mala idea, pero te comento que hace el exe. tengo files DBF en otro servidor y lo que hago con el exe es copiarlo al server web de ahi los leo con un simple odbc.
. Estos dbf no estan en el directorio web sino en rutas windows y como me dijeron que via web nunca los podre copiar, es por que hice este exe.

probare la linea que me pasaste y luego te comento.

saludos cordiales
  #4 (permalink)  
Antiguo 24/09/2013, 01:48
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: exec se queda pensando

Si todos los archivos involucrados se encuentran en el servidor, puedes crear un script.bat (o el exe que hiciste) en una ruta accesible, que realice la copia y ejecute el script PHP para leer los DBF.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 24/09/2013, 06:34
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: exec se queda pensando

hola Triby,

si me devuelve el control pero no funciona, alguna otra sugerencia?
  #6 (permalink)  
Antiguo 24/09/2013, 06: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: exec se queda pensando

Sí, configura el ejecutable como tarea programada, igual que el script PHP que lee los DBF.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 21/08/2018, 09:20
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 4 meses
Puntos: 6
Información Respuesta: exec se queda pensando

después de 9 años, me tocó hacer esto de ejecutar un .exe con php.

SOLUCION:

para que no se cuelgue el navegador, tenes que hacer que tu .exe una vez que haga los procesos que sean.. finalizar el programa.. en vb6 seria con end

Saludos
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA

Etiquetas: exec, queda
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 20:52.