Heim  >  Artikel  >  Backend-Entwicklung  >  Auf welcher Engine basiert PHP?

Auf welcher Engine basiert PHP?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-09-25 11:37:183257Durchsuche

Auf welcher Engine basiert PHP?

Zend Engine

Die Zend Engine ist der Kern der PHP-Implementierung und stellt die Infrastruktur für die Sprachimplementierung bereit. Als Kern der PHP-Sprache befindet sich die Zend Engine im Zend-Unterverzeichnis des PHP-Quellcodeverzeichnisses.

Warum Zend Engine?

· PHP3 verwendet die Operationsmethode der Interpretation und Ausführung, und die Betriebseffizienz ist sehr schlecht.

·Die Gesamtkopplung des Codes ist relativ hoch und die Skalierbarkeit ist nicht gut genug.

1997 beschlossen Zeev Suraski und Andi Gutmans, den Code neu zu schreiben, um diese beiden Probleme zu lösen.

Am Ende nannten sie die Kern-Engine dieser Technologie Zend Engine, und Zend bedeutet Zeev + Andi.

Verwandte Empfehlungen: „

php-Grundlagen-Tutorial

Zend Engine-Funktion

Zuerst vorkompilieren, dann erneut ausführen.

· Lexikalische Analyse (Lexer): Teilen Sie den Code in Token Tokn auf.

·Grammatikanalyse (Parser): Grammatikprüfung.

 

·Operationscode (Opcode) generieren: Die Zend-Engine kompiliert diese Tokens, kompiliert den Code in Opcode und bindet entsprechende Parameter und Funktionsaufrufe.

 

·Ausführen: Die Zend-Engine führt diese Opcodes aus.

 

·Speicherverwaltung

Der detaillierte Prozess ist wie folgt:

Auf welcher Engine basiert PHP?

PHP-Quellcode Verzeichnisstruktur

/    :主要包含一些说明文件以及设计方案。
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 Core

PHP Core besteht aus zwei Teilen: Zend Engine und PHP Core.

PHP Core ist an die SAPI-Schicht gebunden. PHP abstrahiert die Kommunikation mit dem oberen „Server“ und abstrahiert und kapselt die gesamte Logik in SAPI.

Für die Server der oberen Schicht können ihre Aufrufe an PHP über SAPI erfolgen, wodurch eine „Entkopplung und Integration“ erreicht wird.

Übliche Möglichkeiten, SAPI aufzurufen, sind:

 

·mod_php5: PHP-Modul für Apache.

 

·CGI: Fork-And-Execute.

·Fastcgi: CGI vom Typ „Long-Live“.

 

·CLI: PHP-Befehlszeilenmodus.

Die Architektur von PHP

Auf welcher Engine basiert PHP?

Das obige ist der detaillierte Inhalt vonAuf welcher Engine basiert PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn