I don't know how you would do this on a win system but us nix users, we can use the native hostname with -f to get a reliable hostname.
<?php
$_SERVER["SERVER_NAME"] = exec('hostname -f');
?>
gethostname
(PHP >= 5.3.0)
gethostname — ホスト名を取得する
説明
string gethostname
( void
)
gethostname() 関数は、ローカルのマシンに設定されている標準的なホスト名を取得します。
返り値
成功時にはホスト名を示す文字列。失敗時には FALSE を返します
例
例1 簡単な gethostname() 関数の使用例
<?php
echo gethostname(); // 出力の例: sandie
// PHP 5.3 より前のバージョンでも動く別の方法
echo php_uname('n'); // 出力の例: sandie
?>
参考
- gethostbyname() - インターネットホスト名に対応するIPv4アドレスを取得する
- gethostbyaddr() - 指定した IP アドレスに対応するインターネットホスト名を取得する
- php_uname() - PHP が稼動しているオペレーティングシステムに関する情報を返す
RoboTamer
21-Nov-2011 07:10
JP
31-Mar-2010 12:55
You can use php_uname("n") in Windows to return the host name. You may have worked this out already but it took my a blinkin age!
will dot knauss at gmail dot com
03-Mar-2010 04:43
It looks like this function isn't available on windows.
Here is my code:
<?PHP
$var = gethostname();
IF ($var===FALSE) {
echo "The function ran but no results were returned!";
}
ELSE {
echo "The function returned a value\n\r";
echo $var;
}
?>
I received an error:
"Fatal error: Call to undefined function gethostname() "
