Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich zuverlässig feststellen, ob mein PHP-Skript über die Befehlszeile oder über HTTP ausgeführt wird?

Wie kann ich zuverlässig feststellen, ob mein PHP-Skript über die Befehlszeile oder über HTTP ausgeführt wird?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-16 12:13:03405Durchsuche

How Can I Reliably Determine if My PHP Script is Running from the Command Line or via HTTP?

Bestimmen der Befehlszeilen- vs. HTTP-Ausführung in PHP

Eine häufige Aufgabe bei der PHP-Skriptentwicklung ist die Bestimmung der Art der Ausführungsumgebung, ob Das Skript wird über die Befehlszeile oder über HTTP ausgeführt. Dieses Wissen ist entscheidend, um Entscheidungen zur Ausgabeformatierung zu treffen und das Verhalten entsprechend anzupassen.

Die herkömmliche Methode zur Überprüfung der Existenz von SERVER['argc'] ist nicht zuverlässig, da es auch bei Verwendung von 'Apache' gefüllt werden kann 2.0-Handler-Server-API. Der kanonische Weg, diese Abfrage aufzulösen, ist die Verwendung der Funktion php_sapi_name().

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

Die Funktion php_sapi_name() bietet eine breite Palette möglicher Rückgabewerte, darunter unter anderem aolserver, apache, apache2filter, apache2handler, caudium, cgi, cli und webjames. Eine vollständige Liste finden Sie in der PHP-Dokumentation.

Darüber hinaus enthält in PHP >= 4.2.0 eine vordefinierte Konstante PHP_SAPI denselben Wert wie php_sapi_name(). Durch die Verwendung dieser Konstante können Entwickler die Lesbarkeit und Wartbarkeit des Codes verbessern.

Durch die Einhaltung dieses kanonischen Ansatzes können PHP-Entwickler die Ausführungsumgebung ihrer Skripte zuverlässig bestimmen und so eine gezielte Ausgabeformatierung und maßgeschneiderte Verhaltensanpassungen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich zuverlässig feststellen, ob mein PHP-Skript über die Befehlszeile oder über HTTP ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn