nis 的全名为 network information system,另外一个说法就是 yp (yellow pages)。nis 或 yp 可以让许多不同的 unix 机器拥有相同的系统信息,例如相同的用户帐号密码,使系统管理人员及用户都容易在不同的机器间穿梭,不可避免的,会有安全上的缺点,不过安全就不是这儿所讨论的了。而关于 nis 方面的中英文书籍在市面上都可以找到,或者也可以参考 http://www.desy.de/~sieversm/ypdoku/ypdoku/ypdoku.html 。
欲使用 nis 函数库,记得要在编译 php 时将 yp 的选项打开,即加上 --with-yp 选项。
yp_get_default_domain: 取得机器的 domain。
yp_order: 返回 map 的序数。
yp_master: 取得 nis 的 master。
yp_match: 取得指定资料。
yp_first: 返回 map 上第一笔符合的资料。
yp_next: 指定 map 的下笔资料。
yp_errno: 取得先前 yp 操作的错误码。
yp_err_string: 取得先前 yp 操作的错误字符串。
yp_get_default_domain
取得机器的 domain。
语法: string yp_get_default_domain(void);
返回值: 字符串
函数种类: 网络系统
内容说明: 本函数用来寻找服务器本身所处的 domain。执行成功则返回 domain 字符串,失败则返回 false。本函数执行时不需要加参数。
使用范例
参考: yp_errno() yp_err_string()
yp_order
返回 map 的序数。
语法: int yp_order(string domain, string map);
返回值: 整数
函数种类: 网络系统
内容说明: 本函数用来取得 map 的序数,在取得 domain 及 map 之后使用。返回值为 map 序数,若失败则返回 false。
使用范例
参考: yp_get_default_domain() yp_errno() yp_err_string()
yp_master
取得 nis 的 master。
语法: string yp_master(string domain, string map);
返回值: 字符串
函数种类: 网络系统
内容说明: 本函数用来获取目前所在 domain 上的 master 机器,在取得 domain 及 map 之后使用。
参考: yp_get_default_domain() yp_errno() yp_err_string()
yp_match
取得指定资料。
语法: string yp_match(string domain, string map, string key);
返回值: 字符串
函数种类: 网络系统
内容说明: 本函数用来获取指定 domain 中 map 中的指定资料。参数 key 可指定用户名称等。
使用范例
下例用来取得 wilson 的信息
返回字符串类似下面的字符串
wilson:##wilson:12345:380:wilson peng:/home/wilson:/bin/bash
参考: yp_get_default_domain() yp_errno() yp_err_string()
yp_first
返回 map 上第一笔符合的资料。
语法: array yp_first(string domain, string map);
返回值: 数组
函数种类: 网络系统
内容说明: 本函数用来取得指定 map 上第一笔返回资料的索引和其值。返回资料为数组,若失败则返回 false。
使用范例
参考: yp_get_default_domain() yp_errno() yp_err_string()
yp_next
指定 map 的下笔资料。
语法: array yp_next(string domain, string map, string key);
返回值: 数组
函数种类: 网络系统
内容说明: 本函数用来取得 map 上指定资料的下笔返回资料的索引和其值。返回资料为数组,若失败则返回 false。
使用范例
参考: yp_get_default_domain() yp_errno() yp_err_string()
yp_errno
取得先前 yp 操作的错误码。
语法: int yp_errno(void);
返回值: 整数
函数种类: 网络系统
内容说明: 本函数用来取得最后一次 yp 操作时的错误
[url=javascript:;]代码[/url]
,代码值及意义见下粗体部分
代码 意义
1 函数的参数有错
2 rpc 错误 - 不再系着 domain
3 在 domain 上无法系住服务器
4 domain 上找不到指定的 map
5 map 上找不到指定的索引键
6 yp 内部有错
7 资源取得错误
8 指定 map
[url=javascript:;]数据库[/url]
中已无资料
9 无法与 portmapper 通讯
10 无法与 ypbind 通讯
11 无法与 ypserv 通讯
12 未配置本地的 domain
13 yp 数据库有错
14 yp 版本不合
15 暴力存取
16 资料忙线中
yp_err_string
取得先前 yp 操作的错误字符串。
语法: string yp_err_string(void);
返回值: 字符串
函数种类: 网络系统
内容说明: 本函数用来取得最后一次 yp 操作时的错误字符串。本函数不需参数。
【编辑推荐】