php introducir ciclo de vida

PHP modos de funcionamiento:

el modo WEB PHP son dos modos de funcionamiento, el modo CLI. En cualquier modo, las obras de PHP son los mismos, correr como un SAPI.

1, cuando llamamos a la puerta de comandos PHP en un terminal, que utiliza la CLI.

Es como como un servidor web para php ayuda a completar la solicitud, la solicitud es completa re-transfiere el control al terminal.

2, cuando no utilice el servidor web Apache o de un sitio, cuando llega una petición, soporte para PHP completará la solicitud. En general son:

  • Multi-proceso (normalmente compilado como módulo de Apache para manejar las solicitudes de PHP)
  • el modo multi-hilo

Resumen del proceso de implementación:

1, PHP con Apache es para iniciar y ejecutar;

2, PHP, y está conectado a través de la Apache módulo mod_php5.so (específicamente un SAPI, es decir, la interfaz de programación de aplicaciones de servidor);

3, PHP total de tres módulos: el núcleo, el motor Zend, y una capa de extensión;

4, PHP núcleo utilizado para procesar la solicitud, el archivo de flujo, el procesamiento de errores y otras operaciones relacionadas;

5, Zend Engine (ZE) para convertir el archivo fuente en un lenguaje de máquina, y luego se ejecuta en una máquina virtual;

6, la capa de mejora es un conjunto de funciones y flujo de bibliotecas, PHP los utilizan para llevar a cabo ciertas operaciones. Por ejemplo, tenemos que conectar con la extensión de MySQL base de datos MySQL;

7, cuando ZE ejecución del programa puede necesitar conectar varias extensiones, ZE entonces transfiere el control al expandirse, tales como procesado después del regreso de una tarea específica;

8, finalmente, ZE devuelve el resultado al programa que se ejecuta PHP núcleo, que a continuación transmite el resultado a la capa SAPI, la salida final al navegador.

PHP se ejecuta en varias etapas:

SAPI se están ejecutando PHP a través de las siguientes etapas:

1, el módulo de fase de inicialización (init Module):

Es decir, cada uno llamadas de extensión en el código fuente del módulo de inicialización Método PHP_MINIT_FUNCTION, algunas variables requieren módulos de aplicación, la asignación de memoria.

2, las solicitudes de fase de inicialización (Solicitud init):

Cada llamada al método que se recibe después de la extensión de la solicitud PHP_RINIT_FUNCTION del cliente en el entorno de ejecución de inicialización script PHP.

3, la ejecución del script PHP

4, el extremo de la solicitud (solicitud de apagado):

Esta vez llamando a cada extensión manera solicitud PHP_RSHUTDOWN_FUNCTION para limpiar el sitio y comenzar a reciclar las variables ZE y la memoria.

5, cierre el módulo (Módulo de apagado):

servidor Web salida o secuencia de línea de comando se completa llamadas de salida PHP_MSHUTDOWN_FUNCTION manera de extender el código fuente

ciclo de vida SAPI en cada caso

1. Ciclo de vida del proceso SAPI individual. (CGI)

PHP CLI / modo CGI SAPI pertenecen a modo de un solo proceso. Dicha solicitud de procesamiento de solicitudes después del cierre. Esa solicitud se repite cada vez que estos enlaces: Inicio - - Solicitud de petición de inicio cerrados - extremo. Podemos ver una inicialización extendida necesita una gran cantidad de recursos.

2. SAPI ciclo de vida multi-proceso. (Perfork forma de MPM)

PHP es típicamente compilada a un módulo para manejar el PHP solicitud Apache (mod_php). Apache por lo general el modo multi-proceso, el inicio se bifurcará a cabo más procesos hijo de Apache (Apache, donde puede especificar el número de inicio tenedor a cabo el proceso). espacio de memoria por la independencia proceso, cada niño solo Fock a cabo después de que los enlaces de inicio y fin.

3. Multi-hilo ciclo de vida SAPI. (Modo FastCGI o trabajo de proceso único de MPM de)

Multi-hilo y multi-modelo de proceso en un proceso similar a la de este modo, sólo proceso en ejecución un servidor, pero se ejecutará muchos hilos simultáneamente, reduciendo así el costo de algunos recursos, y para init module Módulo de cierre sólo necesitará correr de nuevo en la línea, algunas variables globales inicializan sólo una vez, ya que las características de hilo único que facilitan el intercambio de datos entre un número de peticiones individuales posibles.

Supongo que te gusta

Origin www.cnblogs.com/mengxiangdetiankonghenda/p/12591774.html
Recomendado
Clasificación