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

  • 相关阅读:
    AMH4.2 Ftp账号路径修改设置
    过狗一句话
    破解tumblr背景音乐
    lnmp下安装ffmpeg和ffmpeg-php教程
    How To install FFMPEG, FLVTOOL2, MP4Box on CentOS server 2015 easy method
    自己的路删除
    弹出CPA
    JSON的相关知识
    JavaScript函数的相关知识
    JavaScript对象的相关知识
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6984291.html
Copyright © 2011-2022 走看看