


Detaillierte Erläuterung des zugrunde liegenden Betriebsmechanismus und der Arbeitsprinzipien von PHP
Ich habe kürzlich einen Server eingerichtet und plötzlich habe ich gespürt, wie die Lampen funktionieren oder wie sie verbunden sind? Normalerweise schreibe ich nur Programme und habe nie über das Funktionsprinzip zwischen ihnen nachgedacht:
PHP zugrunde liegendes Arbeitsprinzip
Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Kompetenz
Abbildung 1 PHP-Struktur
Wie auf dem Bild zu sehen ist , PHP Es ist ein 4-Schichten-System von unten nach oben
①Zend-Engine
Zend ist in reinem C implementiert und der Kernbestandteil von PHP. Es übersetzt PHP-Code (lexikalisch, Syntaxanalyse). , usw.) Prozess) verarbeitet ausführbare Opcodes und implementiert entsprechende Verarbeitungsmethoden, implementiert grundlegende Datenstrukturen (wie Hashtable, oo), Speicherzuweisung und -verwaltung und stellt entsprechende API-Methoden für externe Aufrufe bereit. Es ist der Kern von allem Funktionen werden rund um Zend implementiert.
②Erweiterungen
Rund um die Zend-Engine stellen Erweiterungen verschiedene grundlegende Dienste auf Komponentenbasis bereit. Unsere gemeinsamen verschiedenen integrierten Funktionen (z. B. Array-Serien), Standardbibliotheken usw. sind alles durch Erweiterungen Um dies zu erreichen, können Benutzer bei Bedarf auch eigene Erweiterungen implementieren, um Funktionserweiterungen, Leistungsoptimierungen und andere Zwecke zu erreichen (z. B. sind die PHP-Mittelschicht und die Rich-Text-Analyse, die derzeit von Tieba verwendet werden, typische Erweiterungsanwendungen).
③Sapi
Der vollständige Name von Sapi ist Server Application Programming Interface. Dies ist die Server-Anwendungsprogrammierschnittstelle, die es PHP ermöglicht, über eine Reihe von Hook-Funktionen mit Peripheriedaten zu interagieren Elegantes und erfolgreiches Design entkoppelt und isoliert PHP selbst erfolgreich von Anwendungen der oberen Ebene über SAPI. PHP kann nicht mehr berücksichtigen, wie es mit verschiedenen Anwendungen kompatibel ist, und die Anwendung selbst kann auch unterschiedliche Verarbeitungsmethoden entsprechend ihren eigenen Eigenschaften implementieren. Wir werden
später im Sapi-Kapitel vorstellen. ④ Oberschichtanwendung
Dies ist das PHP-Programm, das wir normalerweise schreiben. Wir können verschiedene Anwendungsmodi durch verschiedene Sapi-Methoden erhalten, z. B. durch die Implementierung von Web über den Webserver. Anwenden, als Skript über die Befehlszeile ausführen usw.
Architektonische Idee:
Das Modell Engine (Zend) + Komponente (ext) reduziert die interne Kopplung
Die mittlere Schicht (Sapi) isoliert das Web server und php
********************************************* ******* *******************************
Wenn PHP ein Auto ist, dann
Das Framework des Autos ist PHP selbst
Zend ist der Motor des Autos
Die verschiedenen Komponenten unter Ext sind die Räder des Autos
Sapi kann als Straße betrachtet werden, und das Auto kann auf verschiedenen Straßentypen fahren
Die Ausführung eines PHP-Programms ist wie ein Auto, das auf der Straße fährt.
Deshalb benötigen wir: Motor mit hervorragender Leistung + geeignete Räder + korrekte Landebahn
Die Beziehung zwischen Apache und PHP
Apache Das Parsen von PHP wird unter vielen Modulen durch das PHP-Modul vervollständigt.
Um PHP endgültig in das Apache-System zu integrieren, müssen Sie einige notwendige Einstellungen für Apache vornehmen. Hier nehmen wir zur Erläuterung den SAPI-Betriebsmodus mod_php5 von PHP als Beispiel. Das Konzept von SAPI werden wir später ausführlich erläutern.
Angenommen, die von uns installierten Versionen sind Apache2 und PHP5, dann müssen Sie die Hauptkonfigurationsdatei von Apache http.conf bearbeiten und die folgenden Zeilen hinzufügen:
Unix/Linux-Umgebung:
LoadModule php5_module modules/mod_php5.so AddType application/x-httpd-php .php
Hinweis: module/mod_php5.so ist der Installationsort der Datei mod_php5.so in der X-Systemumgebung.
In einer Windows-Umgebung:
LoadModule php5_module d:/php/php5apache2.dll AddType application/x-httpd-php .php
Hinweis: d:/php/php5apache2.dll ist der Installationsort der Datei php5apache2.dll in einer Windows-Umgebung.
Diese beiden Konfigurationen teilen dem Apache-Server mit, dass alle künftigen URL-Benutzeranfragen mit PHP als Suffix das Modul php5_module (mod_php5.so/php5apache2.dll) zur Verarbeitung aufrufen müssen.
Apaches Lebenszyklus
Apaches Anfrageverarbeitungsprozess
Detaillierte Erklärung des Apache-Anfrageverarbeitungszyklus
Alle 11 Phasen des Apache-Anfrageverarbeitungszyklus wurden abgeschlossen Welche Dinge?
1. Post-Read-Request-Phase
Im normalen Anforderungsverarbeitungsprozess ist dies die erste Phase, in der das Modul Hooks einfügen kann. Diese Phase kann von Modulen genutzt werden, die sehr früh mit der Bearbeitung von Anfragen beginnen möchten.
2. URI-Übersetzungsphase
Apaches Hauptaufgabe in dieser Phase: Zuordnung der angeforderten URL zum lokalen Dateisystem. Module können in dieser Phase Hooks einfügen, um ihre eigene Mapping-Logik auszuführen. mod_alias nutzt diese Phase zum Arbeiten.
3. Header-Parsing-Phase
Apaches Hauptarbeit in dieser Phase: Überprüfen des Headers der Anfrage. Da das Modul die Aufgabe übernehmen kann, Anforderungsheader an jedem Punkt des Anforderungsverarbeitungsablaufs zu überprüfen, wird dieser Hook selten verwendet. mod_setenvif nutzt diese Phase zum Arbeiten.
4. Die Hauptaufgabe von
Apache in dieser Phase: Überprüfen Sie, ob der Zugriff auf die angeforderte Ressource gemäß der Konfigurationsdatei zulässig ist. Die Standardlogik von Apache implementiert Zulassungs- und Ablehnungsanweisungen. mod_authz_host nutzt diese Phase, um zu funktionieren.
5. Authentifizierungsphase Die Hauptarbeit von
Apache in dieser Phase: Benutzer gemäß der in der Konfigurationsdatei festgelegten Richtlinie authentifizieren und den Benutzernamensbereich festlegen. Module können in dieser Phase Hooks einfügen, um eine Authentifizierungsmethode zu implementieren.
6. Autorisierungsphase Die Hauptarbeit von
Apache in dieser Phase: Überprüfen, ob authentifizierte Benutzer den angeforderten Vorgang gemäß der Konfigurationsdatei ausführen dürfen. Das Modul kann in dieser Phase Hooks einfügen, um eine Methode zur Benutzerrechteverwaltung zu implementieren.
7. MIME-Typprüfungsphase
Apaches Hauptarbeit in dieser Phase: Bestimmen der zu verwendenden Inhaltsverarbeitungsfunktion gemäß den relevanten Regeln des MIME-Typs der angeforderten Ressource. Die Standardmodule mod_negotiation und mod_mime implementieren diesen Hook.
8. FixUp-Phase
Dies ist eine allgemeine Phase, die es dem Modul ermöglicht, alle erforderlichen Verarbeitungen vor dem Inhaltsgenerator auszuführen. Ähnlich wie Post_Read_Request ist dies ein Hook, der beliebige Informationen erfassen kann und auch der am häufigsten verwendete Hook ist.
9. Antwortphase Die Hauptaufgabe von
Apache in dieser Phase besteht darin, an den Kunden zurückgegebene Inhalte zu generieren und für das Senden einer angemessenen Antwort an den Kunden verantwortlich zu sein. Diese Phase ist der Kernbestandteil des gesamten Prozesses.
10. Protokollierungsphase
Apaches Hauptarbeit in dieser Phase: Aufzeichnung von Transaktionen, nachdem die Antwort an den Client gesendet wurde. Module können die Standardprotokollierung von Apache ändern oder ersetzen.
11. Die Hauptaufgabe von Apache in dieser Phase: Bereinigen der Umgebung, die nach Abschluss dieser Anforderungstransaktion zurückbleibt, z. B. die Verarbeitung von Dateien und Verzeichnissen oder das Schließen von Sockets usw. Dies ist eine Apache-Zeit. Die letzte Phase der Anforderungsverarbeitung.
LAMPENarchitektur:
Android-Systemarchitekturdiagramm &@Lampen- und Android-Architektur Wenn man die Bilder vergleicht, scheint es der Lampenarchitektur etwas ähnlich zu sein, aber Experten können darauf hinweisen Der Unterschied. Vielen Dank
Von oben nach unten Weiter:
Android-Architektur------------- Beschreibung-------LAMP-Architektur
1. Anwendung------Spezifische Anwendung--------Webanwendung
2 ----Java------------PHP-Sprache und Bibliothek
3. Systemlaufzeitbibliothek:----Virtuelle Maschine---------WEB Server
⒋Linux-Kernel:---Betriebssystem-------Lampenarchitektur Die Beziehung zwischen der L
Lampe im und im Inneren des Computers
CPU ist die Fabrik, die Festplatte ist das große Lager und der Speicher ist das reguläre Übertragungszentrum, der virtuelle Speicher ist ein temporäres Übertragungszentrum
Php Die Sprache wird von Zend in Maschinensprache kompiliert und betreibt die CPU
Der Betrieb der Datenbank ist ein E/A-Vorgang und eine mechanische Bewegung, also der Betrieb einer Website. Der Engpass wird durch die verursacht Die Lösung besteht darin, die Anzahl der E/A-Vorgänge zu reduzieren und Puffertechnologie zu verwenden. Das heißt, die Datenoperationen werden in den Mencache gelegt, wenn sie eine bestimmte Größe erreichen Der Mencache gehört zur Schlüssel-Wert-Beziehung
Auch nicht relationale Daten basieren auf diesem Konzept und gehören ebenfalls zur Schlüssel-Wert-Beziehung
. Häufiger Lesevorgang ------ Legen Sie es in mencache
Lesen Sie mehr und schreiben Sie weniger ---- Legen Sie es in nosql ab ------ Die Lesefunktion ist sehr leistungsstark!
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des zugrunde liegenden Betriebsmechanismus und der Arbeitsprinzipien von PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan
