PHP是单个进程,由apache执行。对于每个请求,apache从进程池中取出进程,初始化数据结构,然后创建进程。
所有会话都共享变量共享,类似于会话的内容,即单例模式。默认是使用磁盘文件来实现会话管理
静态变量,只能由一个请求共享,而不能由所有请求共享。
会话共享
因为每个请求都是由apache代表进程创建的,所以会话共享的问题是由会话共享引起的。 PHP使用文件机制来实现会话共享。
内存管理
像C语言一样,它也具有相关功能
php生命周期
这是一张图片的概述

Zend虚拟机
php的引擎是Zend虚拟机
Zend虚拟机类似于js虚拟机,感觉就像一个内容
运行过程

Zend与php之间的关系
Zend Technologies公司管理PHP的开发
内存泄漏
由于PHP是一种高级语言,因此它会自动管理内存,但是仍然会发生内存泄漏。
使用valgrind分析内存泄漏
php内存管理
分为三层:存储层(存储),堆层(堆)和接口层(emalloc / efree)

图片
php由链管理。
图片

每次通过数组指针到请求的内存空间时,定义一个数组指针
初始化单个请求时,内核将初始化free_buckets列表,该列表是一个数组指针,其中存储双向链接列表的头和尾指针以实现内存管理
关于js内存
js内存使用原型链的方式,总有一个Windows节点,每次创建时,它将被安装在Windows节点上
关于Java内存
前面的描述都是关于动态语言的存储机制的。现在,我将解释静态语言。以java为例。写入每个Java文件之后,将编译并生成类文件。类文件定义了存储器的结构。使用load命令。加载到内存中,即内存结构是固定的。在操作过程中,当使用新命令时,将根据类文件定义的内存模型在jvm的虚拟机中创建相同的对象,并进行指向和计算。此时,本质是通过堆栈计算的
通过这种方式,静态语言模拟了动态语言。
关于动态和静态语言
可以计算出静态语言定义的内存结构。
动态语言和原型链类型,只需加载它即可。
垃圾收集
以前,PHP只是用于垃圾收集的简单引用计数方法。
不想看
以上是本文的全部内容。希望本文的内容对大家的学习或工作有所帮助,也希望大家能为您提供更多的支持。 Codenong

本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-363942-1.html
好帅
不听话放出来就得下课