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.
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