php内核一 一次请求与结束

  php开始 到 结束 有两个阶段

  1.   请求开始之间的初始化阶段
  2.   请求之后的结束处理阶段

   开始阶段:

    1.       模块初始化
    2. 模块激活

      模块初始化:    在整个SAPI生命周期内,只执行一次(apache服务器启动的整个声明周期内或者是命令行程序的整个执行过程)

      模块激活:       该阶段发生在请求后,即URL请求,每个请求都会触发模块激活,php在次阶段可以进行一些初始化工作,比如常量注册,

                  定义模块使用的类等等

  结束阶段

      请求处理完成以后,即脚本运行到结尾或者调用exit或die方法就会停用模块,而在apache生命周期结束后会出发关闭模块

      

    1.     模块停用
    2. 关闭模块

      

      模块停用 : 发生在请求处理完成以后。

      关闭模块: 发生在SAPI声明周期结束。

  

时间: 2024-11-06 22:48:29

php内核一 一次请求与结束的相关文章

利用netfilter机制,实现内核防火墙把http请求和回应的数据包截获后,解释出其中的http层数据

#include<linux/init.h> #include<linux/kernel.h> #include<linux/module.h> #include<linux/netfilter_ipv4.h> #include<linux/skbuff.h> #include<linux/ip.h> #include<linux/tcp.h> #include<linux/if_ether.h> #inclu

PHP内核探索:一次请求生命周期

我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的.PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口). PHP总共有三个模块:内核.Zend引擎.以及扩展层. PHP内核用来处理请求.文件流.错误处理等相关操作: Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它: 扩展层是一组函数.类库和流,PHP使用它们来执行一些特定的操作. 比如,我们需要mysql扩展来连接MySQL数据库: 当ZE执行程序时可能

x64内核内存空间结构

0x00 前言 本文主要是讨论Windows 7 x64下的内核虚拟地址空间的结构,可以利用WiinDBG调试的扩展命令"!CMKD.kvas"来显示x64下的内核虚拟地址空间的整体布局.了解内核的地址布局在某些情况下是很有的,比如说在研究New Blue Pill的源码和虚拟化的时候. 0x01 基本结构 X64的CPU的地址为64位,但实际上只支持48位的虚拟地址空间供软件使用.虚拟地址的高16位在用户模式下总是被设置为0000,而在内核模式下全置为FFFF. 因此用户模式的地址空

把握linux内核设计(一):系统调用

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 一般情况下进程不能访问内核所占内存空间也不能调用内核函数.为了和用户空间上运行的进程进行交互,内核提供了一组接口.透过该接口,应用程序可以访问硬件设备和其他操作系统资源.这组接口在应用程序和内核之间扮演了使者的角色,应用程序发送各种请求,而内核负责满足这些请求(或者让应用程序暂时搁置).系统调用就是用户空间应用程序和内核提供的服务之间的一个接口. 系统调用在用户空间进程和硬件

Nginx 中处理 HTTP 请求

概述 在 Nginx 的初始化启动过程中,worker 工作进程会调用事件模块的ngx_event_process_init 方法为每个监听套接字ngx_listening_t 分配一个 ngx_connection_t 连接,并设置该连接上读事件的回调方法 handler 为 ngx_event_accept,同时将读事件挂载到epoll 事件机制中等待监听套接字连接上的可读事件发生,到此,Nginx 就可以接收并处理来自客户端的请求.当监听套接字连接上的可读事件发生时,即该连接上有来自客户端

十天学Linux内核之第四天---如何处理输入输出操作

原文:十天学Linux内核之第四天---如何处理输入输出操作 真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可以睡懒觉了,哈哈,自从大三寒假以来还没睡过懒觉呢,现在也有更多的时间来分享自己学习Linux内核的感受,前几天觉得就是自己也有些不懂的,相信大家看了也是很模糊,以后我会标志出来自己不懂的,希望大神们指教,也希望大家多多指点,共同攻克Linux内核,今天将讲到处理器是如何与其它设备进行交互的,内核又是

HTTP请求响应过程 与HTTPS区别

原文:HTTP请求响应过程 与HTTPS区别 HTTP协议学习笔记,基础,干货 HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议.与之类似的还有文件传送协议(file transfer protocol,FTP),简单邮件传送协议(simple mail ttransfer protocol,SMTP)等. HTTP是在七层网络模型中的应用层的协议,由发送请求和接受响应构成,是一个标准的客户端服务器模型.

Linux 内核中的 Device Mapper 机制

http://www.68idc.cn/help/server/linux/20141127133367.html 结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物 简介: 本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,

深入理解Linux内核-系统调用

系统调用:用户态进程向内核发出的,实现用户态进程调用硬件设备的函数或者中断:优点:使编程更容易,将用户从学习硬件设备的低级编程特性中解放:提高系统到安全性,内核在满足请求之前可以做正确性检查:提高可移植性: 系统调用与API调用的区别:1.API调用是一个函数定义:系统调用是通过软中断向内核发出的明确请求2.内核不可以访问库函数 内核中,返回值为正数或者0表示系统调用成功结束,否则表示出错条件 进入内核态的两种方式:1.执行 int $0x80 指令 :2.执行 sysenter 指令内核推出系