He estado tratando de entender el significado exacto/propósito de cargar php como un módulo de Apache frente al resto.mod_php vs cgi vs fast-cgi
Cuando php está instalado como módulo apache, ¿qué ocurre exactamente? Por ejemplo, ¿la lectura del archivo php-ini ocurre cada vez que viene la solicitud php o cuando el módulo php se carga solo?
Para ser más específico, diga si tengo una variable que pueda ser utilizada por todas las solicitudes. En otras palabras, supongamos que tenemos que hacer que el intérprete de php busque archivos relacionados con la ruta de acceso de cerstain (/ home/user/documents). ¿Seré capaz de almacenar/home/user/documents en una configuración y cargarlo una vez en alguna variable global? De esta forma si el usuario emite file_get_contents ("new.txt"), se traduce a file_get_contents ("/ home/user/documents/new.txt") –
Consulte la configuración de PHP auto_prepend_file, que le dará la oportunidad de anteponer PHP código que se ejecutará antes de analizar la solicitud real. dentro de su archivo auto_prepended, use chdir() para cambiar el directorio. Sin embargo, tenga en cuenta que esto interceptará TODAS las operaciones de archivos, incluso include() y require()! –
@Karthick: ¿Por qué el intérprete de PHP almacena esa información? Ese tipo de información es para que su código se preocupe. Cuando no le da una ruta de acceso absoluta a un archivo, se ve en relación con el script que está ejecutando el intérprete de PHP. Y no, las diferentes instancias de intérpretes de PHP no pueden ni deben compartir datos entre ellos. – Anand