Heim > Artikel > Backend-Entwicklung > PHP-Ausführungsprozess und verwandte Konzepte
Dieser Artikel stellt hauptsächlich den Ausführungsprozess und die damit verbundenen Konzepte von PHP vor. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf zurückgreifen.
Um das oben Gesagte zusammenzufassen: Die Architektur des PHP-Programms besteht von oben nach unten aus vier Schichten, nämlich: Anwendungsschicht, SAPI-Schicht, Erweiterungsschicht und Zend-Engine. Die architektonische Beziehung ist in der folgenden Abbildung dargestellt:
(Bildquelle: http://www.nowamagic.net/libr...)
Die SAPI-Schicht ist für manche Menschen möglicherweise relativ unbekannt. SAPI bietet einen einheitlichen Satz von Schnittstellen, um Anwendungen der oberen Schicht von der tatsächlichen Betriebsumgebung zu entkoppeln. Von Benutzern geschriebene PHP-Dateien können über die Befehlszeile oder in Apache httpd oder FPM ausgeführt werden. Der dahinter stehende Support wird von SAPI bereitgestellt und ist den Entwicklern nicht bekannt. Durch SAPI muss sich die PHP-Skriptschicht nicht zu viele Gedanken über die spezifische Ausführungsumgebung machen, und PHP selbst kann es SAPI ermöglichen, einzigartige Implementierungen basierend auf seinen eigenen Merkmalen bereitzustellen.
Ausführungsprozess
die Ressource vergeblich ist wird freigegeben, sobald das Skript ausgeführt wird. Die Ausführung des Skripts bedeutet nicht unbedingt das Ende des Prozesses, nachdem das Skript kompiliert wurde. Es bleibt im Speicher und führt RINIT und RSHUTDOWN nicht wiederholt aus ist ein Leistungsverbesserungspunkt des CLI-Frameworks im Vergleich zu anderen Betriebsmodi usw.
Weitere Einzelheiten zu den einzelnen Phasen im SAPI-Lebenszyklus finden Sie im Buch „In-Depth Understanding of the PHP Core“. pconnect
exit/die
CGI, FastCGI, PHP-FPM usw.
CGI/FastCGI/php-cgi und PHP-FPM sind mehrere Konzepte, die PHP-Entwickler leicht verwirren und verwirren können. Die Beziehung zwischen diesen Konzepten ist wie folgt:
CGI/FastCGI:网关协议,与语言无关,所以与PHP关系也不大。两者的区别是FastCGI可以独立于web服务器,运行FastCGI协议的程序变成web服务器的内容提供方(上游)。另外与web服务器解耦后,用FastCGI协议交互的进程具有性能好、安全稳定、支持分布式等优点; php-cgi:实现FastCGI协议的PHP解析器,不能平滑重启和热加载; FPM:PHP官方的FastCGI进程管理器,可执行程序为php-fpm;支持平滑重启、热加载,运行稳定;其管理对象不是php-cgi进程,两者没什么关系。
Webserver. Gemeinsames Apache httpd und Nginx;
SAPI. Übliche sind Apache2handler, cli, fpm-fcgi
Protokoll. CGI und FastCGI werden im Artikel
erwähnt. Nämlich php-cgi und php-fpm.
Da der Webserver den meisten Menschen bekannter ist, sprechen wir über seine Beziehung zu anderen Konzepten: Bei der Verwendung von Apache httpd werden PHP-Skripte in mehr als 90 % der Fälle in ausgeführt Es handelt sich also um ein Modul, das mit Apache2handler in SAPI zusammenhängt und nichts mit anderen Konzepten zu tun hat (weder CGI noch das FastCGI-Protokoll. Bei Verwendung von Nginx wird die Anforderung in 90 % der Fälle über das FastCGI-Protokoll an FPM weitergeleitet.) im Zusammenhang mit fpm-fcgi in SAPI und den Protokollen FastCGI und php-fpm im Programm beziehen sich auf die drei Konzepte und haben nichts mit anderen Konzepten zu tun.
Dieser Artikel gibt einen kurzen Überblick über die Architektur und den Ausführungsprozess von PHP-Programmen und stellt einige leicht verwirrende Konzepte vor.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Analyse des PHP-Containers Pimple-LaufprozessVorteile der Verwendung des Laravel-Servicecontainers
Das obige ist der detaillierte Inhalt vonPHP-Ausführungsprozess und verwandte Konzepte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!