Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Función exec no me ejecuta el "/dev/null &"

Estas en el tema de Función exec no me ejecuta el "/dev/null &" en el foro de PHP en Foros del Web. Buen dia. Esto intentando ejecutar un script en segundo plano; pero no me esta funcionando como pienso. Esto es lo que tengo Fichero 1 @import ...
  #1 (permalink)  
Antiguo 14/04/2016, 14:36
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Función exec no me ejecuta el "/dev/null &"

Buen dia.

Esto intentando ejecutar un script en segundo plano; pero no me esta funcionando como pienso.
Esto es lo que tengo

Fichero 1
Código PHP:
Ver original
  1. <?php
  2. $tiempo_inicio = microtime(true);
  3. exec('C:\wamp\bin\php\php5.5.12\php.exe  C:\wamp\www\mail.php > /dev/null &');  
  4. $tiempo_fin = microtime(true);
  5. echo ($tiempo_fin - $tiempo_inicio);
  6. ?>


Cuando ejecuto ese codigo, corre sin generar error pero no cumple su función, sin embargo; cuando elimino el > /dev/null & el codigo corre de igual manera pero la diferencia es que El script se demora en cargar lo que demora el archivo mail.php y precisamente esto es lo que no quiero.


mail.php
Código PHP:
Ver original
  1. <?php
  2. $tiempo_inicio = microtime(true);
  3. $logs = fopen("pruebadeejecucion.txt","a+");
  4. sleep(2);
  5. $tiempo_fin = microtime(true);
  6. fwrite($logs, ($tiempo_fin - $tiempo_inicio)."
  7. ");
  8. sleep(4);
  9. $tiempo_fin = microtime(true);
  10. fwrite($logs, ($tiempo_fin - $tiempo_inicio)."
  11. ");
  12. sleep(6);
  13. $tiempo_fin = microtime(true);
  14. fwrite($logs, ($tiempo_fin - $tiempo_inicio)."
  15. ");
  16. echo 'fin';
  17. ?>

Espero me puedan ayudar, realmente mi idea es que el archivo en segundo plano envié unos 10 o 15 correos a través de un smtp, pero necesito que esto se ejecute sin que el usuario espere todo este tiempo. Gracias de antemano.
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #2 (permalink)  
Antiguo 14/04/2016, 22:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Función exec no me ejecuta el "/dev/null &"

Creo que necesitas un cron job para eso, usar exec() no es la mejor forma porque sigues dependiendo del proceso que atiende al usuario.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/04/2016, 06:00
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Función exec no me ejecuta el "/dev/null &"

Cita:
Iniciado por pateketrueke Ver Mensaje
Creo que necesitas un cron job para eso, usar exec() no es la mejor forma porque sigues dependiendo del proceso que atiende al usuario.
Gracias por su respuesta. Sin embargo para poder enviar los correos necesitaba la interacción del usuario. Aunque ya he logrado lo que quiero con esto:

Código PHP:
Ver original
  1. pclose(popen("start C:\wamp\bin\php\php5.5.12\php.exe  C:\wamp\www\mail.php ","r"));
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.

Etiquetas: ejecuta, exec
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 12:58.