如何将机器ID /主机名映射/解映射到对象ID中的3个字节?

时间:2012-03-29 11:46:18

标签: mongodb mongodb-php

如何将机器ID /主机名映射/解映射到对象ID中的3个字节?

我应该在哪里寻找linux中的机器ID?

domU-12-31-39-13-02-56看起来很奇怪,我不确定它是否正确?

<?php

$id = new MongoId('4f7351390c211d0a3d000004');

print_r($id->getHostname());

//domU-12-31-39-13-02-56

?>

1 个答案:

答案 0 :(得分:5)

该函数没有从ObjectID获取主机名,它显示了PHP用于生成唯一ID的主机名:

http://php.net/manual/en/mongoid.gethostname.php

ObjectID 3字节机器字段是机器主机名(或mac /网络地址)或虚拟机ID的(md5)哈希的前三个字节。所以,即使你想要它也不能逆转。

你得到的值是主机名(根据gethostname函数) - 虽然它看起来很奇怪,但可能是正确的。 domU通常代表虚拟化环境中的客户操作系统,其余可能是主机操作系统(dom0)或唯一标识特定虚拟机的虚拟机软件自动生成的ID