off - "Cómo se hace la salchicha" tour de la interacción apache/php/mysql
short_open_tag off (5)
El mejor curso de acción sería obtener un buen libro sobre la pila LAMP.
Una respuesta rápida (solicite más si cree que la necesita). El navegador se comunica con el servidor web a través del protocolo HTTP. El servidor genera (dejemos cómo por el momento) un resultado html y lo devuelve. Cada navegador solo entiende el protocolo http (por el bien de este análisis).
Ahora elementos como iconos, imágenes, javascript, etc., solo se leen desde el servidor apache y se "copian" al navegador. Lo mismo en los archivos html simples. La diferencia está en los archivos php (estoy simplificando demasiado aquí). Estos se pasan al módulo php y la respuesta (del módulo) se enviará de vuelta al navegador.
El módulo php es lo que entiende php. ¿Estamos juntos aquí? en caso afirmativo, entonces: el script Php puede (o no) requerir datos de un servidor MySQL, tiene que conectarse, obtenerlos o manipularlos, etc.
Resumiendo: cada una de estas operaciones se realiza individualmente en un nivel de proceso diferente. Eso es lo que lo hace "simple". Solicite más información si desea algo más específico.
Tengo problemas para entender cómo funciona la pila apache / php / mysql en un nivel bajo (incluida la interacción con el navegador). Hay una buena descripción en algún lugar (un libro, un sitio web, etc.) que me guiará por todo el camino y explicará cómo empezar con un navegador que solicita una URL, se envían solicitudes HTTP, cómo apache habla con php, cómo habla php con mysql (conexiones persistentes y no persistentes), etc., etc. Quiero entender qué es lo que espera en esta cadena, dónde se manejan los tiempos de espera, cuánto tiempo se abren y cierran los enchufes. Un libro, un artículo tal vez? Hay mucha documentación sobre cada componente individual, pero no puedo encontrar un "tutorial".
Las explicaciones que veo hasta ahora son de muy alto nivel: miren, he aquí una vaca feliz, va a Bovine University, miren, todo está envuelto en el estante del supermercado. Lo que necesito es la granja de salchichas / matadero / camión / visita a la fábrica, comenzando con la inseminación de vacas :)
[actualización] Hasta el día de hoy no he encontrado una mejor manera de aprender sobre estas cosas además de leer la fuente.
He encontrado un sitio que tiene, al menos en parte, contenidos del libro Advanced PHP Programming de George Schlossnagle.
El sitio está ubicado en: http://php.find-info.ru/php/016/toc.html . Específicamente, la sección de El ciclo de vida de solicitud de PHP contiene muchos de los detalles esenciales, incluidos algunos códigos fuente y diagramas.
DESCARGO DE RESPONSABILIDAD: IANAL, pero teniendo en cuenta que el libro aún figura en la lista de Amazon , es posible que el contenido vinculado anteriormente rompa todo tipo de códigos, reglas y / o leyes. No es mi intención proliferar o condonar materiales ilegales o pirateados, de ser así, elimine dichos enlaces.
Por lo que yo entiendo, apache recibe la solicitud y determina qué hacer con ella en función de sus opciones de .htaccess o config. A continuación, pasa esta solicitud a PHP para su análisis, si es necesario. PHP hace dos escaneos del código, el primero es el pre-análisis, este recoge las fallas obvias y ejecuta funciones en el nivel superior (ignorando cualquier en las sentencias if, loops, includes, evals o lamda), antes de analizar la página de verdad. Cualquier cosa que se haga con eco, creo, se devuelve como el flujo de salida estándar, y se devuelve a apache. Si apache multiplica la página, envía la señal de muerte a PHP, que cierra los objetos, imprime los mensajes de error si es necesario, antes de salir. Una vez que la página sale de apache, tiende a los encabezados y devuelve la página.
Sin embargo, me gustaría saber más sobre esto, así que si alguien puede explicarlo mejor o tiene una corrección / expansión en mi respuesta, me encantaría escucharlo.
Tienes razón en el hecho de que hay libros enteros escritos sobre cómo encaja todo esto aquí, es un enlace a un "tutorial" que toca en las partes principales.
http://computer.howstuffworks.com/web-server.htm
Espero eso ayude
PHP y MySQL por ejemplo tienen una imagen bastante básica del proceso, que creo que probablemente ya entiendas.
Sin embargo, profundizar más que esa imagen es una discusión bastante larga. Irónicamente, puedes leer el libro que acabo de vincular para obtener una descripción bastante buena. Si tiene preguntas más específicas, le recomiendo abrir nuevas preguntas para ellos. ¡Disfrutar!