• 一张游览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

  • 相关阅读:
    三角函数
    第十七次作业
    第十六次作业
    第15次作业
    第13次java作业
    第十二次java作业
    第十一次java作业
    第十次java作业
    第九次java
    第八次java作业
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6984291.html
Copyright © 2020-2023  润新知