Un pequeño contexto:
Necesitaba ejecutar scripts PHP en un navegador, pero no quería tomarme la molestia de instalar un servidor y sufrir la sobrecarga de ejecutar un servidor en mi computadora y todo el cosas que lo acompañan, incluidos los firewalls, bla, bla, bla.¿Cómo funciona header()?
Por lo tanto, escribí mi propio servidor. Es un simple script PHP que escucha las conexiones en el puerto 80 de mi LAN IP, luego solo cargo esa IP en mi navegador y funciona. Recibe la solicitud HTTP e inicia una segunda secuencia de comandos PHP usando exec
, esto es para poder realizar cambios fácilmente sin tener que reiniciar la secuencia de comandos del servidor. Esta segunda secuencia de comandos PHP analiza la solicitud, y finalmente include
s la secuencia de comandos que en realidad se estaba llamando. Obtiene el resultado desde allí y envía la respuesta al navegador con los encabezados correspondientes (que puedo cambiar).
Sí, es un desastre, pero funciona. Hace lo que necesito que haga.
Ahora la pregunta:
no puedo usar header()
. No parece tener ningún efecto sobre lo que se envía de vuelta al navegador a través de la conexión de socket. En su lugar, hice una función setheader()
y almaceno los encabezados en una matriz que se agregará a la respuesta.
Me gustaría saber cómo funciona la función header()
en realidad internamente, por lo que podría ser capaz de utilizar esa función en lugar de mi función "pirateada".
[Desde el manual:] (*) http://docs.php.net/manual/en/function.header.php encabezados se solo será accesible y se emitirá cuando se use una SAPI que los admita. * – Gordon
¿Puede imprimir la respuesta de muestra que envía la secuencia de comandos del servidor al navegador, que incluirá los encabezados y el cuerpo? –