w3schools variable predefinidas manejo llamar globales funciones funcion ejemplo desde _request php server predefined-variables

predefinidas - variable global php



Cómo soportar funciones/variables predefinidas PHP en un servidor que escribí yo mismo (0)

Actualmente estoy escribiendo mi propio servidor en C ++ para sistemas Posix. Antes de que alguien diga algo acerca de cómo realmente debo usar un servidor preconstruido, tenga en cuenta que sí uso servidores preconstruidos para cualquier cosa relacionada con el negocio. Este proyecto es completamente una experiencia de aprendizaje.

Me gustaría que este sistema sea compatible con las secuencias de comandos del servidor y el alojamiento estático. Me encuentro con un problema cuando trato de incluir soporte para el lenguaje de scripting del lado del servidor más importante: PHP.

El PHP estándar proporciona varias variables predefinidas que dan acceso a la información sobre una solicitud entrante. También proporciona funciones HTTP estándar que interactúan con la solicitud de formas específicas. Además, se supone que es posible realizar operaciones IO en los cuerpos de solicitud y respuesta utilizando los nombres de archivo php://input y php://output respectivamente para referirse al socket y permisos apropiados.

Sé que podría definir todas estas variables e implementar todas estas funciones yo mismo en la parte superior de un script de contenedor y luego usar include para ejecutar el script del usuario en el mismo contexto, pero eso parece engorroso. Tampoco tengo idea de cómo mapear php://input o php://output en el descriptor de archivo del socket de solicitud real.

No sé mucho sobre intérpretes de PHP. ¿Hay alguna manera de proporcionar datos de solicitud esenciales (usuario-agente, dirección INET, método, URI, versión, encabezados, descriptor de archivo de socket, y tal vez algo que estoy olvidando) para que el intérprete de PHP pueda acceder a las definiciones nativas y implementaciones de estas variables y funciones? ¿O es una práctica estándar para el autor del servidor definirlo e implementarlo él mismo?

Lo que es más importante, si tengo que implementar estas cosas por mí mismo, ¿cómo correlaco php://input y php://output con el descriptor de archivo correcto y los permisos?

Gracias a todos. Cualquier ayuda es apreciada.