Wir wissen, dass das Workerman-Programm im PHP-CLI-Modus ausgeführt werden muss, dem Befehlszeilenmodus. Wir müssen dies verstehen.
Es wird gesagt, dass PHP derzeit über 4 Betriebsmodi verfügt, nämlich CGI, FastCGI, CLI und Webmodulmodus.
Der vollständige Name ist „Common Gateway Interface“, das es einem Client ermöglicht, Daten von einem Webbrowser an ein Programm anzufordern, das auf einem Webserver ausgeführt wird, wie beschrieben. Es handelt sich um einen Standard für Übertragen von Daten zwischen dem Client und diesem Programm. Darüber hinaus ist CGI sprachunabhängig und kann daher in jeder Sprache geschrieben werden, sofern die Sprache über Standardeingabe-, Ausgabe- und Umgebungsvariablen verfügt. Wie PHP, Perl, TCL usw.
CGI muss für jede Benutzeranfrage einen separaten Unterprozess zur Wartung öffnen, sodass bei großer Anzahl Leistungsprobleme auftreten und es in den letzten Jahren selten verwendet wurde.
FastCGI ist eine aktualisierte Version von CGI und kann jederzeit ausgeführt werden. Zeit, php.ini zu analysieren, alle DLL-Erweiterungen neu zu laden und alle Datenstrukturen neu zu initialisieren.
PHP verwendet für die Verwaltung PHP-FPM (FastCGI Process Manager), dessen vollständiger Name PHP FastCGI Process Manager ist.
So funktioniert FastCGI
Laden Sie den FastCGI-Prozessmanager, wenn der Webserver startet;
Der FastCGI-Prozessmanager initialisiert sich selbst, startet mehrere CGI-Interpreterprozesse und wartet auf Verbindungen vom Webserver;
Wenn eine Client-Anfrage den Webserver erreicht, wählt der FastCGI-Prozessmanager einen CGI-Interpreter aus und stellt eine Verbindung zu ihm her. Der Webserver sendet CGI-Umgebungsvariablen und Standardeingaben an den FastCGI-Unterprozess php-cgi.
Nachdem der FastCGI-Unterprozess die Verarbeitung abgeschlossen hat, gibt er über dieselbe Verbindung Standardausgabe- und Fehlerinformationen an den Webserver zurück. Wenn der untergeordnete FastCGI-Prozess die Verbindung schließt, wird die Anfrage verarbeitet. Der untergeordnete FastCGI-Prozess wartet dann auf die nächste Verbindung vom FastCGI-Prozessmanager und verarbeitet diese.
Im normalen CGI-Modus ist dies das Ende und Sie müssen es beim nächsten Mal noch einmal machen. Aber in FastCGI passiert das alles nur einmal, wenn der Prozess startet. Ein zusätzlicher Bonus besteht darin, dass dauerhafte Datenbankverbindungen funktionieren.
PHP-CLI ist die Abkürzung für PHP Command Line Interface, die Schnittstelle für die Ausführung von PHP auf der Befehlszeile, die sich von PHP unterscheidet Umgebung, die auf dem Webserver läuft (PHP-CGI usw.).
Unter Linux verwenden wir häufig „php -m“, um herauszufinden, welche Erweiterungen PHP installiert hat. Dies ist der PHP-Befehlszeilen-Ausführungsmodus. Sie können php -h eingeben, um die spezifischen Befehle anzuzeigen.
Im PHP-CLI-Modus können wir eine PHP-Datei direkt starten und ausführen, genau wie in Workerman
php index.php start
Es ist zu beachten, dass im PHP-CLI-Modus kein PHP ausgeführt wird Timeout-Anweisung.
ist im Allgemeinen für Apache gedacht. Auf diese Weise besteht ihr gemeinsames Wesen darin, LoadModule zum Laden von phpX_module zu verwenden, was darin besteht, PHP als Untermodul von Apache auszuführen. Beim Zugriff auf eine PHP-Datei über das Web ruft Apache phpX_module auf, um den PHP-Code zu analysieren. Wie übergibt phpX_module die Daten an den PHP-Parser, um den PHP-Code zu analysieren? Die Antwort ist durch Sapi.
Der obige Prozess des Apache-Aufrufs von PHP ist also wie folgt:
apache -> httpd -> php5_module -> sapi -> php
Jedes Mal, wenn Apache eine Anfrage empfängt, generiert es einen Prozess zur Verbindung mit PHP, um die Anfrage über Sapi abzuschließen Wie Sie sich vorstellen können, kann der Server dies nicht ertragen, wenn es zu viele Benutzer und zu viele gleichzeitige Benutzer gibt.
Außerdem ist es beim Kompilieren von mod_php in Apache schwierig festzustellen, ob es sich um ein Problem mit PHP oder Apache handelt, wenn ein Problem auftritt.
Wenn Sie einen leistungsstarken PHP-WEB-Server erstellen möchten, ist Apache/Nginx + FastCGI + PHP-FPM (+PHP-CGI) derzeit der beste Weg. Tun Sie das nicht Machen Sie es nicht mehr Verwenden Sie das Laden von Modulen oder die CGI-Methode
Verwandte Empfehlungen:
Detaillierte Erklärung der vier PHP-Betriebsmodi
Das obige ist der detaillierte Inhalt vonMehrere Betriebsmodi in PHP – CSDN-Blog. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!