信件内容,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的调用)相关推荐

  1. 从源码角度看Android系统SystemServer进程启动过程

    SystemServer进程是由Zygote进程fork生成,进程名为system_server,主要用于创建系统服务. 备注:本文将结合Android8.0的源码看SystemServer进程的启动 ...

  2. Activity启动过程详解(Android P)

    本章我们来分析Activity的启动过程. 我们知道,Activity可以通过两种方式启动:一种是点击应用程序图标,Launcher会启动主Activity:另一种是在应用程序内部,调用startAc ...

  3. tomcat启动_tomcat学习|tomcat的启动过程

    开头说两句 小刀博客: https://www.lixiang.red 小刀公众号: 程序员学习大本营 学习背景 在前两篇中,我们讲述了tomcat的源码结构 https://www.lixiang. ...

  4. zookeeper源码分析之一服务端启动过程

    zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...

  5. Tomcat源码解读系列(二)——Tomcat的核心组成和启动过程

    声明:源码版本为Tomcat 6.0.35 前面的文章中介绍了Tomcat的基本配置,每个配置项也基本上对应了Tomcat的组件结构,如果要用一张图来形象展现一下Tomcat组成的话,整个Tomcat ...

  6. Tomcat源码解析三:tomcat的启动过程

    Tomcat组件生命周期管理 在Tomcat总体结构 (Tomcat源代码解析之二)中,我们列出了Tomcat中Server,Service,Connector,Engine,Host,Context ...

  7. Centos 启动过程详解

    Centos 启动过程 linux启动时我们会看到许多启动信息. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 第一步:内核的引导 第二步:运行 init 第三步:系统 ...

  8. androidpn的学习研究(二)androidpn-server服务端启动过程的理解分析

    在Androidpn的底层主要采用的mina和openfire两大框架,其中mina主要为底层数据传输的Socket框架.下面简单说明mina的框架. Apache Mina Server 是一个网络 ...

  9. linux服务器知识学习:了解Linux系统的启动过程

    linux启动时我们会看到许多启动信息. Linux系统的启动过程 其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 . 用户登录系统. 点击进入原文(图文版)地址 一 ...

最新文章

  1. grep如何忽略.svn目录,以及如何忽略多个目录
  2. Apache Commons fileUpload实现文件上传
  3. Matlab | Matlab从入门到放弃(6)——数组
  4. Django缩略图实现
  5. ofo 辟谣滴滴收购;美团饿了么回应数据泄露;金立转战海外 | CSDN 极客头条
  6. Spring MVC处理响应的 header
  7. HeadFirstJava——7_继承与多态
  8. Skyline软件系列平台
  9. 主数据管理之二:主数据管理系统的功能组件
  10. 网站部署证书 百度浏览器仍提示不安全网站怎么办
  11. java 开发 cms_10 个最受欢迎的 Java 开发的 CMS 系统
  12. Python爬取哔哩哔哩实时直播弹幕
  13. ADI公司高速PCB布板指南
  14. 五、使用Python操作数据库
  15. 详细设计说明书部分样例
  16. 关于Windows 7下的DEP(数据执行保护)
  17. 微星主板bios怎么进 微星进入bios按哪个键
  18. php程序设计专用周报告,《php程序设计》实验论文报告.doc
  19. Java编写的画图板,功能非常齐全,完整代码 附详细设计报告
  20. 2019网名最新版的

热门文章

  1. 上大专是学计算机还是会计,上三本还是上专科 大专学什么专业好
  2. android中setdate不是静态,为什么当setData()和setType()不起作用时,android intent的setDataAndType()工作正常?...
  3. 34_pytorch,动量与lr衰减(momentum,learning rate)--学习笔记
  4. 有关linux下redis overcommit_memory的问题,以及导致的:Cannot allocate memory问题
  5. 13_Android的生命周期
  6. 09_Android中ContentProvider和Sqllite混合操作,一个项目调用另外一个项目的ContentProvider
  7. 操作多个表_8_不等值连接
  8. android 多行 对齐方式,android – 按钮与多行文字下沉对齐线,如何解决?
  9. lisp 批量文字求差值_Python 超简单 提取音乐高潮(附批量提取)
  10. java poi doc转docx_Java 插入Word分页符、分节符