• PHP生命周期


    一个PHP实例,无论是从init脚本中调用的,还是从命令行启动的,都会依次经过module init、request init、request shutdown、module shutdown四个过程,当然,这中间还会执行脚本自己的逻辑,两种init和两种shutdown各会执行多少次,各自的执行频率有多少,取决于php用什么sapi与宿主通信的,最常见的四种启动PHP的方式如下:

    1、直接cli/cgi模式调用

    2、多进程模块

    3、多线程模块

    4、嵌入式,在自己的c程序中调用 zend engine

    sapi(服务器抽象化程序接口)提供一个接口,使得PHP可以和其他应用进行交互数据,也就是说,PHP能够和其他程序如apache交互就是这个接口起作用

    在命令行输入:php -f test.php时,会发生如下过程

    1、注册常量或者类等初始化工作

    2、请求test.php文件,当请求到达后,php会初始化执行脚本的基本环境,例如创建一个执行环境,包括保存PHP运行过程中变量名称和变量值内容的符号表,以及当前所有的函数以及类等信息的符号表,然后PHP会调用所有模块的rinit函数,在这个阶段各个模块也可以执行一些相关的操作。

    3、执行test.php阶段,主要是把PHP文件编辑成opcodes,然后在PHP虚拟机下执行

    4、请求处理完后进入结束阶段,一般脚本执行到末尾exit等函数,和开始阶段对应,结束阶段也分为两个环节,一个在请求结束后,一个在sapi生命周期结束时

    以上摘自《PHP核心技术和最佳实践》

  • 相关阅读:
    server域名与IIS的目录安全性
    机械臂生成URDF文件操作过程
    ROS2 学习参考链接
    solidworks 导入urdf 到ubuntu 在rviz 和 gazebo 显示
    vscode koroFileHeader插件配置
    python 获取当前类中非私有方法
    solidworks 导出urdf 在python ikpy库 使用注意点
    solidworks 打开step 文件并导出文件
    ikpy joint和 link区别
    python 导入包错误
  • 原文地址:https://www.cnblogs.com/weiluoyan/p/7603160.html
Copyright © 2020-2023  润新知