Pour répondre à votre question, ils devraient fonctionner tant que :
- Votre serveur HTTP transmet ces valeurs à PHP (je ne connais pas de serveur qui ne le fasse pas).
- Vous êtes no accès au script via la ligne de commande (CLI)
Mais, si je me souviens bien, ces valeurs peuvent être falsifiées dans une certaine mesure, il est donc préférable de ne pas s'y fier.
Ma préférence personnelle est de définir le nom de domaine comme une variable d'environnement dans l'hôte virtuel apache2 :
# Virtual host
setEnv DOMAIN_NAME example.com
Et le lire en PHP :
// PHP
echo getenv(DOMAIN_NAME);
Toutefois, cela n'est pas applicable dans toutes les circonstances.
0 votes
Cela répond en partie à ma question sur l'utilisation de SERVER_NAME plutôt que de l'autre, mais est-ce la bonne façon de procéder en PHP ? (c'est l'autre partie) Merci.