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/


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to