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 ?
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 }
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!