Maison >développement back-end >Problème PHP >Sur quel moteur est basé php ?
Zend Engine
Le moteur Zend est au cœur de l'implémentation de PHP et fournit l'infrastructure pour l'implémentation du langage. En tant que cœur du langage PHP, Zend Engine existe dans le sous-répertoire Zend du répertoire du code source PHP.
Pourquoi Zend Engine ?
· PHP3 utilise la méthode opérationnelle d'interprétation et d'exécution, et l'efficacité opérationnelle est très mauvaise.
·Le couplage global du code est relativement élevé et l'évolutivité n'est pas assez bonne.
En 1997, Zeev Suraski et Andi Gutmans décident de réécrire le code pour résoudre ces deux problèmes. En fin de compte, ils ont nommé le moteur principal de cette technologie Zend Engine, et Zend signifie Zeev + Andi. Recommandations associées : "Tutoriel de base php"
Fonction Zend Engine
Précompilez d'abord, puis exécutez à nouveau.· Analyse lexicale (Lexer) : Divisez le code en jetons Toekn.
·Analyse grammaticale (Parser) : vérification grammaticale.
·Générer le code d'opération (opcode) : le moteur Zend compile ces jetons, compile le code en opcode et lie les paramètres et appels de fonction correspondants.
·Exécuter : le moteur Zend exécute ces opcodes.
·Gestion de la mémoire
Le processus détaillé est le suivant :Code source PHP structure de répertoires
/ :主要包含一些说明文件以及设计方案。 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 se compose de deux parties : Zend Engine et PHP Core. PHP Core est lié à la couche SAPI. PHP résume la communication avec le "serveur" supérieur et résume et encapsule toute la logique dans SAPI. Pour les serveurs de couche supérieure, leurs appels à PHP peuvent être effectués via SAPI, réalisant ainsi le « découplage et l'intégration ». Les façons courantes d'appeler SAPI sont :·mod_php5 : module PHP pour Apache.
·CGI : Fork-And-Execute.
·Fastcgi : CGI de type Longue durée de vie.
·CLI : mode ligne de commande PHP.
L'architecture de PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!