我可以在PHP中确定物理服务器的名称吗?

时间:2017-06-12 15:41:49

标签: php server

我们有一个在两台物理服务器之间移动的网站,都是RedHat Linux。无论运行哪个物理服务器,该站点看起来都完全相同。

我需要显示当前正在使用的物理服务器。

我尝试了$ _SERVER超全局,但它没有那个信息。

3 个答案:

答案 0 :(得分:2)

要获取主机名,请使用gethostname()方法,该方法在内部执行“uname”。

<?php
    echo gethostname();
?>

信息: http://php.net/manual/en/function.gethostname.php

答案 1 :(得分:1)

在每台服务器上添加一个以不同名称上传的servanme.php(或config.php或config.xml ...)文件。

define("SERVER_NAME","AlphaOne");

它可以保存在一个单独的文件夹中,以降低使用错误版本意外覆盖它的可能性。

require '../servername/servername.php';

此文件也可以保存其他服务器配置数据(数据库连接,共享密钥......)

<server_name>AlphaOne</server_name>
<mysql_db>customerinfo</mysql_db>

请参阅php.net上的SimpleXML以获取读取XML标记配置文件的简便方法

include 'config.php';  // defines $xmlstr
$config_data = new SimpleXMLElement($xmlstr);
echo $config_data->server_name;

答案 2 :(得分:0)

另一种方法可能是调用&#34;主机名&#34; bash shell上的命令:

$hostname = shell_exec('hostname');