Zend Engine
Zend 引擎是 PHP 完成的中心,供应了言语完成上的基础设备。作为 PHP 言语的中心, Zend Engine 存在于 PHP 源码目次中的 Zend 子目次。
Why Zend Engine ?
·PHP3 采纳的是边诠释、边实行的运转体式格局,运转效力很差。
·代码团体耦合度比较高,可扩大性也不够好。
1997年,Zeev Suraski 和 Andi Gutmans 决议重写代码以处理这两个题目。
终究他俩把该项手艺的中心引擎命名为 Zend Engine,Zend 的意义即为 Zeev + Andi。
相干引荐:《php基础教程》
Zend Engine 功用
先举行预编译( Compile ),然后再实行( Execute )。
·词法剖析(Lexer):将代码切分为一个个的标记Toekn。
·语法剖析(Parser):语法搜检。
·生成操作码(opcode):Zend 引擎对这些 Token 举行编译, 将代码编译为 opcode,并绑定响应的参数、和函数挪用。
·实行(execute):Zend 引擎实行这些 opcode。
·内存治理
细致历程如下图所示:
PHP源码目次构造
/ :重要包含一些申明文件以及设计方案。 Zend :Zend 引擎的完成目次。包含词法语法剖析,OPCODE,供应言语运转环境。 TSRM :线程平安资源治理器。 build:安排一些和源码编译相干的一些文件。 ext :官方扩大目次。包含array系列,pdo系列,spl系列等函数的完成。 main :最为中心的文件,完成PHP的基础设备。 pear :PHP 扩大与运用堆栈。 sapi :种种服务器笼统层的代码。比方apache的mod_php,cgi,fastcgi以及fpm等等接口。 tests:PHP的测试剧本鸠合。 scripts:Linux 下的剧本目次。 win32:Windows平台相干的一些完成。
PHP 中心
PHP 中心由两部分构成:Zend Engine 和 PHP Core。
PHP Core 绑定了 SAPI 层,PHP 对与上层 "服务器" 的通讯举行了笼统,把一切的逻辑都笼统、封装到了SAPI。
关于上层的服务器来讲,它们对 PHP 的挪用就能够经由过程 SAPI 来举行,完成了"解耦和"。
罕见的挪用 SAPI 体式格局有:
·mod_php5:PHP module for Apache。
·CGI:Fork-And-Execute。
·Fastcgi:常驻 (Long-Live) 型的 CGI。
·CLI:PHP 命令行形式。
The Architecture of PHP
以上就是php基于什么引擎的细致内容,更多请关注ki4网别的相干文章!