En PHP, déterminer si un script est exécuté à partir de la ligne de commande ou via HTTP est essentiel pour la sortie formatage et à d’autres fins. La méthode traditionnelle d'inspection du tableau SERVER['argc'] n'est pas fiable dans tous les cas, car elle peut être renseignée même pendant l'exécution HTTP.
La solution canonique à ce problème consiste à utiliser la fonction php_sapi_name() . Cette fonction renvoie le type d'interface entre le serveur web et PHP. Si la valeur renvoyée est "cli", le script est exécuté à partir de la ligne de commande, tandis que toute autre valeur indique une exécution HTTP.
if (php_sapi_name() == "cli") { // In cli-mode } else { // Not in cli-mode }
Comme indiqué dans la documentation PHP, php_sapi_name() peut renvoyer divers valeurs en fonction de l’interface du serveur. Certaines valeurs courantes incluent "apache", "cgi-fcgi", "nsapi" et "litespeed".
Dans les versions PHP 4.2.0 et supérieures, il existe également une constante prédéfinie PHP_SAPI qui a la même valeur. comme php_sapi_name(). Cette constante peut être utilisée comme alternative à la fonction.
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!