} if (DEBUG_SERVER) { $firephp->dump('SERVER', $_SERVER); } if (DEBUG_CONST) { $tab_constantes = get_defined_constants(TRUE); $firephp->dump('CONSTANTES', $tab_constantes['user']); } } } // ============================================================================ // URL de base du serveur // ============================================================================ $host = getServerUrl(); define('HOST', $host); define('URL_BASE', getServerProtocole() . $host . getServerPort($host)); // ============================================================================ // Type de serveur (LOCAL|DEV|PROD) // ============================================================================ // On ne peut pas savoir avec certitude si un serveur est "local" car aucune méthode ne fonctionne à tous les coups : // - $_SERVER['HTTP_HOST'] peut ne pas renvoyer localhost sur un serveur local (si configuration de domaines locaux via fichiers hosts / httpd.conf par exemple). // - gethostbyname($_SERVER['HTTP_HOST']) peut renvoyer "127.0.0.1" sur un serveur non local car un serveur a en général 2 ip (une publique - ou privée s'il est sur un lan - et une locale). // - $_SERVER['SERVER_ADDR'] peut renvoyer "127.0.0.1" avec nginx + apache sur 127.0.0.1 ... if (mb_strpos(URL_BASE, 'localhost') || mb_strpos(URL_BASE, '127.0.0.1') || mb_strpos(URL_BASE, '.local')) { $serveur_type = 'LOCAL'; } elseif (mb_strpos(URL_BASE, '.sesamath.net:8080') || mb_strpos(URL_BASE, '.sesamath.net:8443')) { $serveur_type = 'DEV'; } else { $serveur_type = 'PROD'; } define('SERVEUR_TYPE', $serveur_type);
/** * server_protocole * Retourne si le protocole est http ou https. * Utilise la fonction getServerProtocole() définie dans le loader. * * @param void * @return string */ private static function server_protocole() { $valeur = (getServerProtocole()=='https://') ? 'HTTPS' : 'HTTP' ; return InfoServeur::cellule_coloree_centree($valeur,'jaune'); }