zoukankan      html  css  js  c++  java
  • 一张游览PHP内核迷宫的藏宝图

    PHP内核就像一个迷宫,假设没有一个纵览全局的图,仅仅是面对当中的一个点,就会像进了迷宫一样,走着走着就走到了死胡同。在这个迷宫里转悠了非常久之后,近期得到了一张PHP藏宝图。然后看着这张图去游览PHP内核,顿时认为这个景区的面貌清晰了很多。废话不说了,上图:

    这张图包含两部分,分别相应PHP的启动过程,和PHP处理每一个请求的过程。PHP的启动过程是一系列的初始化操作,建立处理请求时使用的各种全局变量:

    Apache启动 

     => sapi_startup

     => php_module_startup (PHP的主开关)

     => php_output_startup

     => zend_startup (启动Zend引擎)

     => register_ini_entries

     => php_ini_stream_wrappers

     => php_ini_register_extensions (启动动态载入的扩展)

     => zend_startup_modules 

     => zend_startup_extensions


    以下是处理每一个请求时的流程:

    php_handler

     => php_apche_request_ctor

     => zend_activate

     => zend_execute_scripts

     => zend_compile (语法分析、语义分析、生成oparray)

     => zend_execute (运行opcode)

     => zend_deactivate


    进程退出时关掉zend、php:

    sapi_shutdown

    => zend_shutdown

  • 相关阅读:
    数值数据类型
    如何提高数据迁移和复制的速度
    dns解析
    cdn加速
    集群
    JavaScript初学者应注意的七个细节
    CXF 5参考资料
    深入理解Spring MVC 思想
    【深入理解Java内存模型】
    牛人论
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6984291.html
Copyright © 2011-2022 走看看