php之深入理解架构布局讲解

admin3年前PHP教程50

本文基于《php 内核剖析》与 《php7底层设计与源码实现》所记笔记。
对php内核的深入理解有助于我们对php的整体认识,对于业务层初期发展我们可以只了解基本语言的逻辑就可以写出符合业务的代码,但是随着业务的发展我们通过分析源码,编写扩展,深入了解php内部机制,帮助我们理解php内部实现逻辑,更好助力业务发展.

执行流程

从上图中看出主要从解析phpcode到执行主要经过了四个阶段.

获取token可以通过token_get_all('<?php echo "str";>')函数获取token信息.

抽象语法树主要将解释器和编译器进行解耦.

opcodes最终执行的指令,例如zend_echo:本质还是一个对应的c函数.

架构结构

zend层为上层的php层提供一些基础的内存管理以及数据结构等.

sapi层为最上层和server进行通信,封装了不同的通信类型,cgi,fast-cgi,cli等.

目录结构

sapi

存放根据不同环境支持的上层api交互形式,实现了不同的输入输出形式.

zend

存放php相关的核心代码,如前所述内存管理等.

main

负责与zend层交互的入口,还有一些钩子函数.

ext

主要是扩展相关的目录.通过ext_skel命令生成自定的模块.会默认安装到这个目录.

tsrm

线程资源管理相关的目录,一般只有和apache结合使用时会涉及到线程资源管理相关的代码.
与nginx相关的一般只会用到fastcgi协议不涉及到tsrm模块.

到此这篇关于php之深入理解架构布局讲解的文章就介绍到这了,更多相关php之深入理解架构布局内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

网络被攻击了怎么办?租用美国BGP高防物理机哪家好?

主流的服务器攻击方式有多种手段,但是唯独DDoS攻击、CC攻击以及ARP欺骗,这些攻击方式被称为三大攻击手段,不仅可以致使服务器瘫痪,而且还很无解。DDOS攻击DDoS攻击全名叫做分布式拒绝服务(DD...

韩国服务器怎么样好用吗

韩国服务器怎么样好用吗?韩国服务器对于一些亚太区域的客户来说可能是一个不错的选择,它具有以下优点:稳定性高:韩国服务器的网络基础设施比较稳定,并且得到了政府的大力支持,因此能够提供稳定可靠的服务。带宽...

韩国高防服务器购买方法主要看哪些方面

韩国高防服务器购买方法主要看哪些方面?购买韩国高防服务器的方法可以分为以下几步:确定需求:首先需要确定自己的需求,包括需要租用多少服务器、需要防御什么类型的攻击、需要的网络带宽等等。确定预算:根据自己...

PHP的runkit扩展如何使用

目录动态修改常量安装查看超全局变量键方法相关操作类方法相关操作总结动态修改常量define('A', 'TestA'); runkit_constant_re...

PHP中断言函数的使用详解

目录assert() 断言函数assert_options() 及相对应的 php.ini 中的参数配置总结原来一直以为断言相关的函数是 PHPUnit 这些单元测试组件提供的,在阅读手册后才发现,这...

Linux系统下安装PHP7.3版本

请先安装依赖包$ yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg li...