Comment vérifier si le script php s’exécute sur un serveur local?

Est-il possible de vérifier si le site Web (php) fonctionne localement ou sur un serveur hébergé? Je veux activer certains journaux si le site Web fonctionne localement et je ne veux pas qu’ils apparaissent sur le site en ligne. Je peux définir une variable $local=1; mais je devrai changer cela avant le téléchargement .. est-ce qu’il y a de toute façon pour automatiser cette tâche?

Serveur local: WampServer 2.0 / Apache WebServer: Apache

Vérifiez $_SERVER['REMOTE_ADDR']=='127.0.0.1' . Cela ne sera vrai que si vous exécutez localement. Sachez que cela signifie également que le serveur est local. Donc, si vous avez des scripts en cours d’exécution sur le serveur qui font des requêtes sur vos pages PHP, ils satisferont également à cette condition.

Vous devez automatiser le déploiement

Ce n’est pas directement la réponse à votre question, mais à mon avis la meilleure façon. Dans un processus de déploiement automatisé, définir une variable comme $local = true , comme les autres valeurs de configuration (par exemple, votre connexion à la firebase database), ne serait pas une tâche manuelle, source d’erreurs.

À mon avis, la vérification de «locality» est incorrecte: vous ne voulez pas montrer vos journaux à chaque visiteur local (un proxy peut être un), mais uniquement s’il est déployé dans un environnement de test .

Capistrano est un outil populaire pour le déploiement automatisé, il devrait également y avoir des outils PHP-Censortingc.

Juste au cas où cela serait utile à quelqu’un, j’ai fait cette fonction car les réponses ci-dessus ne faisaient pas vraiment ce que je cherchais:

 function is_local() { if($_SERVER['HTTP_HOST'] == 'localhost' || substr($_SERVER['HTTP_HOST'],0,3) == '10.' || substr($_SERVER['HTTP_HOST'],0,7) == '192.168') return true; return false; } 

J’ai construit cette fonction qui vérifie si le nom du serveur actuel a des enregistrements de serveur de noms , normalement le serveur local n’a pas.

  
 $whitelist = array( '127.0.0.1', '::1' ); if(!in_array($_SERVER['REMOTE_ADDR'], $whitelist)){ // not valid }