PHP生命周期

简介: 2015-08-19 15:05:30 周三 一篇很好的文章 PHP内核探索 总结一下 1. 模块初始化 MINIT   各个PHP模块/扩展初始化内部变量, 告诉PHP调用自己的函数时, 函数体在哪里(到PHP那里去注册自己的函数) 2.

2015-08-19 15:05:30 周三

一篇很好的文章

PHP内核探索

总结一下

1. 模块初始化 MINIT

  各个PHP模块/扩展初始化内部变量, 告诉PHP调用自己的函数时, 函数体在哪里(到PHP那里去注册自己的函数)

2. 请求初始化 RINIT

  初始化session, 全局变量... 等只针对当前请求的一些变量设置

  zend engine 将php代码转换为opcode

  调用了相关的模块处理函数的话, zend engine 把请求参数信息给这些模块处理, 然后接收返回结果

  zend engine 将返回结果给PHP内核

  PHP内核再传递给web服务器

3. 结束请求 Rshutdown

  将初始化时申请的内存或文件等资源释放掉

4. 结束模块 Mshutdown

  收回模块初始化时申请的资源

多进程&多线程

如果是每一个请求一个进程的话, 每一个请求来的时候都是执行上边4步

如果是多线程的话, 只是执行一次第1步, 将PHP的所有模块初始化后, 每次处理进来的一个请求都只执行RINIT, 处理完成后只是释放RINIT的资源,而不释放MINIT请求的资源, 以便下一个请求使用, 除非web服务器关闭, 才执行Mshutdown

目录
相关文章
|
26天前
|
缓存 自然语言处理 PHP
深入PHP内核:理解OPcode和执行生命周期
在PHP的执行过程中,源代码经过词法分析、语法分析等一系列复杂的步骤后,最终会编译成一种叫做“操作码”(OPcode)的中间代码。本文将深入探讨PHP的操作码(OPcode)是什么,它是如何生成的,以及它在整个PHP脚本执行周期中扮演的角色。我们还将了解不同的OPcode优化技术,以及它们如何影响PHP应用程序的性能。通过本文,读者将对PHP的内部工作原理有更深刻的理解,为进一步的性能调优打下坚实的基础。
|
算法 Linux PHP
PHP是如何和Linux的CPU交互的?生命周期是怎样的?底层原理是什么?
PHP是如何和Linux的CPU交互的?生命周期是怎样的?底层原理是什么?
|
存储 Java PHP
PHP面向对象的生命周期是什么?底层原理是什么?
PHP面向对象的生命周期是什么?底层原理是什么?
106 0
|
自然语言处理 Java PHP
PHP的生命周期是什么?底层原理是什么?
PHP的生命周期是什么?底层原理是什么?
|
网络协议 NoSQL PHP
PHP架构与生命周期
PHP引擎与SAPI
116 0
PHP架构与生命周期
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0
|
7月前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
125 0
|
3月前
|
关系型数据库 MySQL PHP
|
3天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册