Apache启动过程(PHP_MINIT_FUNCTION的调用)
信件内容,to eng-all;
Hi all:
上次我做的讲座中,讲到,PHP模块的MINIT_FUNCTION在多进程的环境下,会被调用多次,也就是,每个apache的自进程都会去调用一次。
今天早上的时候,学鹏经过实际验证发现事实不是这样。
于是经过反复验证 ,终于得出如下结论:
当Apache启动的时候,主进程会首先把所有模块load进来,然后又卸载掉 他们,这是第一遍,目的是为了检查配置文件。如果一切正常,Apache就会重新 load一便所有的模块,然后才fork子进程,这样,PHP模块就会只被初始化一次, 然后在fork的时候复制给子进程。
当apache关闭的时候 ,每个自进程都会去调用一次模块的关闭函数。
也就是说, PHP模块的初始化函数只会被调用一次,而关闭函数会被调用多次。
猜想是因为apache1.5x以后,做了优化,造成现在的这种机制,apache1.3应 该还是和我当时讲的一样。
最后,非常感谢学鹏的实际验证,没有实际验证,这个问题就不会被发现。
真正要了解一个东西,不应该只是听听就算,应该去动手验证一下,再次对学 鹏师兄表示,赞!
来源:http://www.laruence.com/2008/07/24/206.html
Apache启动过程(PHP_MINIT_FUNCTION的调用)相关推荐
- 从源码角度看Android系统SystemServer进程启动过程
SystemServer进程是由Zygote进程fork生成,进程名为system_server,主要用于创建系统服务. 备注:本文将结合Android8.0的源码看SystemServer进程的启动 ...
- Activity启动过程详解(Android P)
本章我们来分析Activity的启动过程. 我们知道,Activity可以通过两种方式启动:一种是点击应用程序图标,Launcher会启动主Activity:另一种是在应用程序内部,调用startAc ...
- tomcat启动_tomcat学习|tomcat的启动过程
开头说两句 小刀博客: https://www.lixiang.red 小刀公众号: 程序员学习大本营 学习背景 在前两篇中,我们讲述了tomcat的源码结构 https://www.lixiang. ...
- zookeeper源码分析之一服务端启动过程
zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...
- Tomcat源码解读系列(二)——Tomcat的核心组成和启动过程
声明:源码版本为Tomcat 6.0.35 前面的文章中介绍了Tomcat的基本配置,每个配置项也基本上对应了Tomcat的组件结构,如果要用一张图来形象展现一下Tomcat组成的话,整个Tomcat ...
- Tomcat源码解析三:tomcat的启动过程
Tomcat组件生命周期管理 在Tomcat总体结构 (Tomcat源代码解析之二)中,我们列出了Tomcat中Server,Service,Connector,Engine,Host,Context ...
- Centos 启动过程详解
Centos 启动过程 linux启动时我们会看到许多启动信息. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 第一步:内核的引导 第二步:运行 init 第三步:系统 ...
- androidpn的学习研究(二)androidpn-server服务端启动过程的理解分析
在Androidpn的底层主要采用的mina和openfire两大框架,其中mina主要为底层数据传输的Socket框架.下面简单说明mina的框架. Apache Mina Server 是一个网络 ...
- linux服务器知识学习:了解Linux系统的启动过程
linux启动时我们会看到许多启动信息. Linux系统的启动过程 其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 . 用户登录系统. 点击进入原文(图文版)地址 一 ...
最新文章
- grep如何忽略.svn目录,以及如何忽略多个目录
- Apache Commons fileUpload实现文件上传
- Matlab | Matlab从入门到放弃(6)——数组
- Django缩略图实现
- ofo 辟谣滴滴收购;美团饿了么回应数据泄露;金立转战海外 | CSDN 极客头条
- Spring MVC处理响应的 header
- HeadFirstJava——7_继承与多态
- Skyline软件系列平台
- 主数据管理之二:主数据管理系统的功能组件
- 网站部署证书 百度浏览器仍提示不安全网站怎么办
- java 开发 cms_10 个最受欢迎的 Java 开发的 CMS 系统
- Python爬取哔哩哔哩实时直播弹幕
- ADI公司高速PCB布板指南
- 五、使用Python操作数据库
- 详细设计说明书部分样例
- 关于Windows 7下的DEP(数据执行保护)
- 微星主板bios怎么进 微星进入bios按哪个键
- php程序设计专用周报告,《php程序设计》实验论文报告.doc
- Java编写的画图板,功能非常齐全,完整代码 附详细设计报告
- 2019网名最新版的
热门文章
- 上大专是学计算机还是会计,上三本还是上专科 大专学什么专业好
- android中setdate不是静态,为什么当setData()和setType()不起作用时,android intent的setDataAndType()工作正常?...
- 34_pytorch,动量与lr衰减(momentum,learning rate)--学习笔记
- 有关linux下redis overcommit_memory的问题,以及导致的:Cannot allocate memory问题
- 13_Android的生命周期
- 09_Android中ContentProvider和Sqllite混合操作,一个项目调用另外一个项目的ContentProvider
- 操作多个表_8_不等值连接
- android 多行 对齐方式,android – 按钮与多行文字下沉对齐线,如何解决?
- lisp 批量文字求差值_Python 超简单 提取音乐高潮(附批量提取)
- java poi doc转docx_Java 插入Word分页符、分节符