当前位置: 首页 > news >正文

专业网站制作企业汕头企业建站系统模板

专业网站制作企业,汕头企业建站系统模板,最新的产品代理有哪些,重庆工业建设网站一、PHP开源源代码下载地址#xff1a; https://github.com/php/php-src.git 二、PHP的构成 1、目录结构 2、目录分析 #xff08;1#xff09;sapi目录是PHP的应用接口层。 #xff08;2#xff09;main为php的主要代码#xff0c;主要是输入/输出、Web通信、PHP框架…一、PHP开源源代码下载地址 https://github.com/php/php-src.git 二、PHP的构成 1、目录结构 2、目录分析 1sapi目录是PHP的应用接口层。 2main为php的主要代码主要是输入/输出、Web通信、PHP框架的初始化操作等比如fastcgi协议的解析、扩展的加载、PHP配置的解析等工作都是在这里完成的。 3Zend目录是PHP解析器的主要实现即ZendVM它是PHP语言的核心实现PHP代码的解释、执行都是由Zend完成的。 4ext目录是PHP的扩展目录比如php的curl扩展gd库扩展、pdo扩展等都是在这里。 5TSRM目录为线程安全相关的实现。 6PHP各组成部分之间关系图 3、SAPI 1PHP是一个脚本解析器提供脚本的解析与执行。它的输入是普通的文本然后由PHP解析器按照预先定义好的语法规则进行解析执行。我们可以在不同环境中应用这个解析器比如命令行下、Web环境下、嵌入其他应用中使用。为此PHP提供了一个SAPI层以适配不同的应用环境SAPI可以认为是PHP的宿主环境。 2SAPI也是整个PHP框架最外层的一部分它主要负责PHP框架的初始化工作。SAPI代码位于PHP源码的 /sapi 目录下经常用到的两个SAPI是Cli和Fpm。 4、ZendVM 1ZendVM是一个虚拟的计算机它介于PHP应用和实际计算机中间我们编写的PHP代码就是被它解释执行的。ZendVM是PHP语言的核心实现他主要由两部分组成编译器和执行器。 2编译器负责将PHP解释为执行器可识别的指令执行器负责执行编译器解释出的指令。 3ZendVM的角色等同于Java中的JVM它们都是抽象出的虚拟计算机。 5、Extension 1扩展是PHP内核提供的一套用于扩充PHP功能的一种方式PHP社区中有丰富的扩展可供使用这些扩展为PHP提供了大量实用的功能PHP中很多操作的函数都是通过扩展提供的。 2通过扩展我们可以使用C/C实现更强大的功能和更高的性能。扩展分为PHP扩展和Zend扩展PHP扩展比较常见而Zend扩展主要应用于ZendVM我们所熟知的Opcache就是Zend扩展。 三、PHP生命周期 1、PHP的整个生命周期被划分为以下几个阶段 1模块初始化阶段module startup 2请求初始化阶段request startup 3脚本执行阶段execute sccript 4请求关闭阶段request shutdown 5模块关闭阶段module shutdown 注根据不同SAPI的实现各阶段的执行情况会有一些差异比如命令行模式下每次执行一个脚本都会完成的经历这些阶段。而FastCgi模式下则在启动时执行一次模块初始化然后各个请求只经历请求初始化脚本执行请求关闭几个阶段在SAPI关闭时才经历模块关闭阶段。 2、模块初始化阶段—分析 1这个阶段主要进行PHP框架和Zend引擎的初始化操作。该阶段的入口函数为php_module_startup()。这个阶段一般只在SAPI启动时执行一次对于Fpm而言就是在Fpm的master进程启动时执行的。 2该阶段的几个主要处理如下 3激活SAPIsapi_activate()初始化请求信息SGrequest_info、设置读取POST请求的handle等。 4启动PHP输出php_output_startup() 5初始化垃圾回收器gc_globals_ctor()并分配zend_gc_globals内存。 6启动Zend引擎zend_startup()主要操作包括 6.1启动内存池 start_memory_manager() 6.2设置一些util函数句柄如zend_error_cb、zend_pringf、zend_write等。 6.3设置Zend虚拟机编译、执行器的函数句柄zend_compile_file、zend_execute_ex、垃圾回收函数句柄gc_collect_cycles 6.4分配函数符号表 方法符号表function_table、类符号表class_table、常量符号表zend_constants等如果是多线程的话还会分配编译器、执行器的全局变量。 6.5注册Zend核心扩展zend_startup_builtin_funtions()这个扩展是内核提供的该过程将注册Zend核心扩展提供的函数如strlen、define、func_get_args、class_exists等。 6.6注册Zend定义的标准常量zend_register_standard_constants()比如 E_ERROR、E_WARNING、E_ALL、TRUE、FALSE等。 6.7注册$GLOBALS超全局变量的获取handle。 6.8分配php.ini配置的存储符号表 EGini_directives。 7注册PHP定义的常量PHP_VERSION、PHP_ZTS、PHP_SAPI等。 8解析php.ini解析完成后所有的php.ini配置保存在configuration_hash哈希表中。 9映射PHP、Zend核心的php.ini配置根据解析出的php.ini获取对应的配置值将最终的配置插入EGini_directives哈希表。 10注册用于获取$_GET、$_POST、$_COOKIE、$_SERVER、$_ENV、$_REQUEST、$_FILES变量的handle。 11注册静态编译的扩展php_register_internal_extensions_func()。 12注册动态加载的扩展php_init_register_extensions()将php.ini中配置的扩展加载到PHP中。 13回调各扩展定义的module startup钩子函数即通过PHP_MINIT_FUNCTION()定义的函数。 14注册php.ini中禁用的函数、类disable_funstions、disable_classes。 3、请求初始化阶段—分析 该阶段是在请求处理前每一个请求都会经历的一个阶段。对于fpm而言是在worker进程accept一个请求且获取、解析完请求数据后的一个阶段。该阶段的处理函数为php_request_startup()。 主要处理有以下几个 1激活输出php_output_activate() 2激活Zend引擎zend_activate()主要操作有 2.1重置垃圾回收器gc_reset() 2.2初始化编译器ini_compiler() 2.3初始化执行器ini_exexutor()将 EGfunction_table和 EGclass_table分别执行 CGfunction_table和CGclass_table。 2.4初始化全局变量符号表 EGsymbol_table、include过的文件符号表 EGincluded_files 2.5初始化词法扫描器sapi_activate() 3激活SAPIsapi_activate() 4回调个扩展定义的request startup钩子函数zend_activate_modules() 4、脚本执行阶段—分析 1该阶段包括PHP代码的编译、执行两个核心阶段这也是Zend引擎最重要的功能。 2在编译阶段PHP脚本将经历从PHP源代码到抽象语法树再到opline指令的转化过程最终生成的opline指令就是Zend引擎可识别的执行指令这些指令被执行器执行这就是PHP代码解释执行的过程。该阶段入口函数为php_execute_script()。 5、请求关闭阶段—分析 1该阶段将flush输出内容、发送HTTP应答header头、清理局部变量、关闭编译器、关闭执行器等。 2另外在该阶段将回调各扩展的request shutdown钩子函数。 3该阶段与请求初始化阶段操作是相反的。 6、模块关闭阶段—分析 该阶段在SAPI关闭时执行与模块初始化阶段对应主要进行资源的清理、PHP各模块的关闭操作同时将回调各扩展的 module shutdown 钩子函数。 注免费领取阿里云产品优惠券https://www.haveyb.com/aliyun
http://www.pierceye.com/news/171052/

相关文章:

  • 网站建设投资风险分析公司做的网站费用如何做账
  • 网站建设费用核算科目DW做的网页用网站打不开
  • wordpress标签搜索引擎嘉兴市做网站优化
  • 网站更换关键词怎么做好wordpress post fonts
  • 厦门优化网站排名网站备案转服务器
  • 怎样做pdf电子书下载网站做旅行攻略的网站
  • 怎样做网站推广啊抖音网站的flash怎么做
  • 网站建设小说网站建设目标是什么意思
  • 如何做一个好的网站中英文网站好处
  • wordpress站点版权设置晋中建设集团网站
  • 怎么夸一个网站做的好看烟台百度网站推广
  • 佛山市网站建设分站多少钱企业门户账号是什么
  • 大中型网站开发价格铜山区建设局局网站周保春
  • 为什么有人做商城优惠券网站卖科技风格设计网站
  • 企业网站的需求分析是做网站编辑还是做平面设计
  • 超酷 flash 网站淮南网红餐厅
  • 湛江网站建设开发株洲关键词seo优化服务商
  • 女的有没有做网站的十大经典随身空间小说推荐
  • 江西做网站哪家好监理证查询网
  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗
  • 建筑材料价格查询网站做网站从哪方面入门
  • 百度百科网站怎么做360优化大师app下载
  • 那些网站用不着做优化个人网站设计案例
  • wordpress怎么釆集文章杭州seo百度关键词排名推广
  • 网站地址解析做好系部宣传和网站建设
  • 单页网站建设做淘宝优惠网站步骤