当我在PHP中使用此代码时:
print_r($_SERVER);
它打印的第一个索引是:
[MIBDIRS] => C:/ XAMPP / PHP /演员/ MIB的
有人可以告诉我什么是MIB目录吗?什么用于?
答案 0 :(得分:1)
从我的研究中,我发现:
管理信息库( MIB )是用于管理communication network中的实体的数据库。通常与Simple Network Management Protocol(SNMP)相关联,该术语也更常用于OSI / ISO Network management model等上下文中。虽然旨在引用实体上可用的完整管理信息集合,但它通常用于指代特定子集,更准确地称为MIB模块。 1
有一个PHP包Net-SNMP,启用后,允许用户调用将读取MIB文件的snmp_read_mib()等函数。
snmp_read_mib
读取并将MIB文件解析为活动MIB树
bool snmp_read_mib ( string $filename )
此功能用于加载其他内容,例如供应商特定的MIB,以便可以使用人类可读的OID,如VENDOR-MIB :: foo.1,而不是容易出错的数字OID。
加载MIB的顺序很重要,因为如果无法解析引用的对象,底层的Net-SNMP库将打印警告。
请注意$_SERVER包含环境变量:
$_SERVER
- $ HTTP_SERVER_VARS [已删除] - 服务器和执行环境信息 2
在snmp_read_mib()的用户贡献说明中,最上面的帖子是:
如果您尝试导入具有其他mib依赖项的mib,则必须设置MIBDIRS环境变量。
Unix / Linux:
export MIBDIRS=/home/<user>/MIBS:/usr/share/snmp/mibs
窗口:祝你好运!不完全是。试试这个网址。它包含了有关在Windows中设置环境变量的所有信息。
我刚安装了PHP版本7.1.1的最新版本的(32位)XAMPP for Windows。查看 C:\ xampp \ apache \ conf \ extra \ httpd-xampp.conf (主要Apache configuration files之一)我在第6行看到:
SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
这样就设置了PHP的环境变量,这就是你在$ _SERVER中看到 MIBDIRS 的原因。
也许来自$ _SERVER的 MIBDIRS 会像这样使用:
snmp_read_mib($_SERVER['MIBDIRS'].'IPV6-TC.txt');
我希望在this question或其答案中看到一个例子,但没有看到任何例子。
1 <子> https://en.wikipedia.org/wiki/Management_information_base 子>
2 <子> http://php.net/manual/en/reserved.variables.server.php 子>
3 <子> http://php.net/manual/en/function.snmp-read-mib.php#81586 子>