Unterscheidung der Befehlszeilenausführung von der HTTP-Ausführung in PHP
Es ist wichtig zu bestimmen, ob ein PHP-Skript über die Befehlszeile oder eine HTTP-Anfrage ausgeführt wird zum Anpassen von Ausgabeformaten. Obwohl die Überprüfung der Variable SERVER['argc'] wie ein gültiger Ansatz erscheint, ist sie selbst mit der Server-API „Apache 2.0 Handler“ von Apache nicht immer korrekt.
Die kanonische Methode zum Ausführen dieser Aufgabe ist php_sapi_name() Funktion.
if (php_sapi_name() == "cli") { // In cli-mode } else { // Not in cli-mode }
Wie im PHP angegeben Dokumentation:
php_sapi_name gibt den Typ der Schnittstelle zwischen dem Webserver und PHP zurück.
Mögliche Rückgabewerte sind „Apache2handler“, „cgi“, „cli“, „ isapi“, „litespeed“ usw.
Alternativ können Sie die verwenden PHP_SAPI-Konstante, die den gleichen Wert wie php_sapi_name() hat, eingeführt in PHP-Version 4.2.0.
Das obige ist der detaillierte Inhalt vonWie stelle ich fest, ob ein PHP-Skript über die Befehlszeile oder eine HTTP-Anfrage ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!