我有一个PHP应用程序,安装在几个服务器和我们所有的开发人员笔记本电脑上.我需要一种快速可靠的方法来获取服务器的主机名或其他一些独特可靠的系统标识符.这是我们到目前为止所想到的:
<? $hostname = (!empty($_ENV["HOSTNAME"])) ? $_ENV["HOSTNAME"] : env('HOSTNAME'); ?>
<? $hostname = gethostbyaddr($_SERVER['SERVER_ADDR']); ?>
<? $hostname = exec('hostname'); ?>
你怎么看?
zom*_*bat 41
怎么样的gethostname() ?
编辑:根据您的环境,这可能不是我想的选项.它是PHP 5.3中的新功能. php_uname('n')可以作为替代方案.
ghb*_*att 36
$hostname = gethostname();
$hostname = php_uname('n');
对于PHP <4.2.0,请使用:
$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'));
Run Code Online (Sandbox Code Playgroud)