Re: Howto detect the hostname of the server?

From: Date: Sat, 26 Nov 2011 00:29:11 +0000
Subject: Re: Howto detect the hostname of the server?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-315812@lists.php.net to get a copy of this message
On 26 Nov 2011, at 00:24, Stuart Dallas wrote: > On 26 Nov 2011, at 00:14, Andreas wrote: >> Hi, >> how could I identify the server the script runs on? >> >> I've got a testserver on Windows and a remote system on Linux that need a couple of >> different settings like IP and port of db-server or folder to store logfiles. >> >> I'd like to do something like: >> >> if ( $_SERVER['some_key'] = 'my_test_box' ) { >> $db_host = '1.1.1.1'; >> $db_port = 1234; >> } else { >> $db_host = '2.2.2.2'; >> $db_port = 4321; >> } >> >> >> I looked into phpinfo() but haven't found anything helpful, yet. >> Have I overlooked something or is there another way to identify the server? > > This should work on most Linux variants, so long as the hostname command exists and the PHP > process has permission to execute it. > > function getServerHostname($full = false) > { > $retval = hostname; > if (!$full) { > $retval = array_shift(explode('.', $retval)); > } > return $retval; > } I should add that it would be better to put the server hostname into the environment in which PHP runs. That way it will be available via the $_ENV superglobal and fetching it will not cost a process execution. How you would do this depends on how you are running PHP. -Stuart -- Stuart Dallas 3ft9 Ltd http://3ft9.com/

« previous php.general (#315812) next »