Maison > développement back-end > tutoriel php > Comment puis-je déterminer de manière fiable si mon script PHP s'exécute à partir de la ligne de commande ou via HTTP ?

Comment puis-je déterminer de manière fiable si mon script PHP s'exécute à partir de la ligne de commande ou via HTTP ?

Patricia Arquette
Libérer: 2024-11-16 12:13:03
original
417 Les gens l'ont consulté

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

Détermination de l'exécution en ligne de commande par rapport à l'exécution HTTP en PHP

Une tâche courante dans le développement de scripts PHP consiste à déterminer le type d'environnement d'exécution, qu'il s'agisse le script s'exécute via la ligne de commande ou via HTTP. Cette connaissance est cruciale pour prendre des décisions de formatage de sortie et personnaliser le comportement en conséquence.

La méthode traditionnelle de vérification de l'existence de SERVER['argc'] n'est pas fiable, car elle peut être renseignée même en utilisant l'outil 'Apache'. API du serveur du gestionnaire 2.0. La manière canonique de résoudre cette requête consiste à utiliser la fonction php_sapi_name().

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}
Copier après la connexion

La fonction php_sapi_name() fournit un large éventail de valeurs de retour possibles, notamment aolserver, apache, apache2filter, apache2handler, caudium, cgi, cli et webjames, entre autres. Référez-vous à la documentation PHP pour une liste exhaustive.

De plus, dans PHP >= 4.2.0, une constante prédéfinie PHP_SAPI détient la même valeur que php_sapi_name(). En utilisant cette constante, les développeurs peuvent améliorer la lisibilité et la maintenabilité du code.

En adhérant à cette approche canonique, les développeurs PHP peuvent déterminer de manière fiable l'environnement d'exécution de leurs scripts, permettant un formatage de sortie ciblé et des ajustements de comportement personnalisés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal