¿Cómo escribo un script PHP que continúa ejecutándose, incluso después de borrar un poco de texto y finalizar la solicitud HTTP? es posible?¿Puede un script PHP continuar ejecutándose después de finalizar la solicitud HTTP?
Respuesta
Para ejecutar PHP aplicación siempre o hasta php termina
ignore_user_abort(true);
set_time_limit(0);
Parece inseguro si la página se solicita con frecuencia, el servidor podría tener una gran cantidad de procesos que no están haciendo nada. – rsman
que podría estar interesado por la directiva de configuración ignore_user_abort
, y/o la función ignore_user_abort
:
establece si la desconexión de un cliente debe causar una suspensión del script.
uso de este, usted podría:
- generar la parte de la página que tiene que ser enviado al navegador
- ras la salida, con
flush
y/oob_flush
- llamada
ignore_user_abort
(ahora o antes) - haga un poco más de trabajo
El navegador del usuario probablemente todavía indique "esperar" o "cargar", pero el contenido de la página se cargará y se mostrará, e incluso si el usuario presiona "detener", su secuencia de comandos debe continuar su ejecución.
Para más información, no es un ejemplo en la página del manual de los que la función - y se puede echar un vistazo a este artículo: How to Use ignore_user_abort()
to Do Processing Out of Band
Por supuesto, si bien esto puede ser usado para algún proceso luz (como "limpiar" cosas al final de una página, mientras lo muestra lo más rápido posible para el usuario), todavía estará limitado por max_execution_time
y similares.
Por lo tanto, esta no es una solución que se debe utilizar para cálculos largos/pesados.
- 1. ¿Puede un script PHP engañar al navegador para que piense que la solicitud HTTP ha terminado?
- 2. Compatible con HTTP 100 Continuar con PHP
- 3. continuar la ejecución de PHP después de enviar la respuesta HTTP
- 4. Continuar ejecutando un script php después de que se devuelva la página
- 5. Cómo finalizar una solicitud http de node.js early
- 6. ¿Cómo continuar el proceso después de responder a la solicitud de ajax en PHP?
- 7. Cómo ejecutar un script php a través de la línea de comandos (y mantenerlo ejecutándose después de cerrar la sesión)
- 8. ¿Puede un script PHP iniciar otro script PHP y salir?
- 9. ¿Se puede manejar una solicitud y finalizar prematuramente, al principio de la cartera?
- 10. cuánto solicitud HTTP simultánea puede manejar erlang
- 11. Continuar cargando después de IntegrityError
- 12. script php que se borra después de la finalización
- 13. La actividad continúa después de finalizar();
- 14. ¿Puede finalizar el script PHP aunque se haya establecido set_time_limit (0)?
- 15. ¿Puede un ASP.NET HttpHandler manejar un http 400 - Solicitud incorrecta?
- 16. ¿Cuál es la mejor manera de mantener un script PHP ejecutándose como daemon?
- 17. PHP Script Veces después de 45 segundos
- 18. Continuar Código después de la excepción
- 19. ¿Cómo se puede apoyar la búsqueda de un mp3 cuando se regresa de un script php?
- 20. ¿Cómo finalizar un programa en C++ después de un error?
- 21. ¿La URL de solicitud HTTP no forma parte del encabezado de solicitud HTTP?
- 22. ¿Cómo accedo al encabezado HTTP de la solicitud en un script CGI?
- 23. ¿Puede la salida() no finalizar el proceso?
- 24. ¿Aparece un script PHP ejecutado por apache cuando la conexión HTTP muere?
- 25. solicitud HTTP DELETE
- 26. longitud máxima de la solicitud HTTP GET?
- 27. PHP Fatal error: No se puede romper/continuar
- 28. Solicitudes HTTP asíncronas en PHP
- 29. ¿Cómo continuar ejecutando un script de Python mientras se muestra un diagrama/figura?
- 30. Continuar tarea después de que todas las tareas terminen
Ver la respuesta de [Procesos PHP fondo] (http://stackoverflow.com/questions/265073/php-background-processes) – drfloob