55 votes

Le meilleur moyen d'obtenir le nom d'hôte avec php

J'ai une application en php qui est installé sur plusieurs serveurs et l'ensemble de nos développeurs ordinateurs portables. J'ai besoin d'une façon rapide et fiable pour obtenir le nom d'hôte du serveur ou de certains autres unique et d'un système fiable d'identification. Voici ce que nous avons pensé de ce jour:

<? $hostname = (!empty($_ENV["HOSTNAME"])) ? $_ENV["HOSTNAME"] : env('HOSTNAME'); ?>

<? $hostname = gethostbyaddr($_SERVER['SERVER_ADDR']); ?>

<? $hostname = exec('hostname'); ?>

Qu'en pensez-vous?

42voto

zombat Points 46702

Qu'en est gethostname()?

Edit: Ce ne serait pas une option, je suppose, en fonction de votre environnement. C'est nouveau en PHP 5.3. php_uname('n') peut fonctionner comme une alternative.

39voto

ghbarratt Points 4468

Pour PHP >= 5.3.0 utiliser ce:

$hostname = gethostname();

Pour PHP < 5.3.0, mais >= 4.2.0 utiliser ce:

$hostname = php_uname('n');

PHP < 4.2.0 utiliser ceci:

$hostname = getenv('HOSTNAME'); 
if(!$hostname) $hostname = trim(`hostname`); 
if(!$hostname) $hostname = exec('echo $HOSTNAME');
if(!$hostname) $hostname = preg_replace('#^\w+\s+(\w+).*$#', '$1', exec('uname -a')); 

3voto

Pedro Points 418

Vous pouvez également utiliser...

$hostname = getenv('HTTP_HOST');

1voto

RageZ Points 15212

php_uname mais je ne suis pas sûr de ce que le nom d'hôte que vous voulez le nom d'hôte du client ou du serveur.

de plus, vous devez utiliser un cookie approche fondée sur les

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X