„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 21.12.2024
Durchsuche:536

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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3