NIS 函數(shù)庫(kù)
nis 的全名為 network information system,另外一個(gè)說(shuō)法就是 yp (yellow pages)。nis 或 yp 可以讓許多不同的 unix 機(jī)器擁有相同的系統(tǒng)信息,例如相同的用戶(hù)帳號(hào)密碼,使系統(tǒng)管理人員及用戶(hù)都容易在不同的機(jī)器間穿梭,不可避免的,會(huì)有安全上的缺點(diǎn),不過(guò)安全就不是這兒所討論的了。而關(guān)于 nis 方面的中英文書(shū)籍在市面上都可以找到,或者也可以參考 http://www.desy.de/~sieversm/ypdoku/ypdoku/ypdoku.html 。
欲使用 nis 函數(shù)庫(kù),記得要在編譯 php 時(shí)將 yp 的選項(xiàng)打開(kāi),即加上 --with-yp 選項(xiàng)。
yp_get_default_domain: 取得機(jī)器的 domain。
yp_order: 返回 map 的序數(shù)。
yp_master: 取得 nis 的 master。
yp_match: 取得指定資料。
yp_first: 返回 map 上第一筆符合的資料。
yp_next: 指定 map 的下筆資料。
yp_errno: 取得先前 yp 操作的錯(cuò)誤碼。
yp_err_string: 取得先前 yp 操作的錯(cuò)誤字符串。
yp_get_default_domain
取得機(jī)器的 domain。
語(yǔ)法: string yp_get_default_domain(void);
返回值: 字符串
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)尋找服務(wù)器本身所處的 domain。執(zhí)行成功則返回 domain 字符串,失敗則返回 false。本函數(shù)執(zhí)行時(shí)不需要加參數(shù)。
使用范例
參考: yp_errno() yp_err_string()
yp_order
返回 map 的序數(shù)。
語(yǔ)法: int yp_order(string domain, string map);
返回值: 整數(shù)
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得 map 的序數(shù),在取得 domain 及 map 之后使用。返回值為 map 序數(shù),若失敗則返回 false。
使用范例
參考: yp_get_default_domain() yp_errno() yp_err_string()
yp_master
取得 nis 的 master。
語(yǔ)法: string yp_master(string domain, string map);
返回值: 字符串
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)獲取目前所在 domain 上的 master 機(jī)器,在取得 domain 及 map 之后使用。
參考: yp_get_default_domain() yp_errno() yp_err_string()
yp_match
取得指定資料。
語(yǔ)法: string yp_match(string domain, string map, string key);
返回值: 字符串
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)獲取指定 domain 中 map 中的指定資料。參數(shù) key 可指定用戶(hù)名稱(chēng)等。
使用范例
下例用來(lái)取得 wilson 的信息
返回字符串類(lèi)似下面的字符串
wilson:##wilson:12345:380:wilson peng:/home/wilson:/bin/bash
參考: yp_get_default_domain() yp_errno() yp_err_string()
yp_first
返回 map 上第一筆符合的資料。
語(yǔ)法: array yp_first(string domain, string map);
返回值: 數(shù)組
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得指定 map 上第一筆返回資料的索引和其值。返回資料為數(shù)組,若失敗則返回 false。
使用范例
參考: yp_get_default_domain() yp_errno() yp_err_string()
yp_next
指定 map 的下筆資料。
語(yǔ)法: array yp_next(string domain, string map, string key);
返回值: 數(shù)組
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得 map 上指定資料的下筆返回資料的索引和其值。返回資料為數(shù)組,若失敗則返回 false。
使用范例
參考: yp_get_default_domain() yp_errno() yp_err_string()
yp_errno
取得先前 yp 操作的錯(cuò)誤碼。
語(yǔ)法: int yp_errno(void);
返回值: 整數(shù)
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得最后一次 yp 操作時(shí)的錯(cuò)誤
[url=javascript:;]代碼[/url]
,代碼值及意義見(jiàn)下粗體部分
代碼 意義
1 函數(shù)的參數(shù)有錯(cuò)
2 rpc 錯(cuò)誤 - 不再系著 domain
3 在 domain 上無(wú)法系住服務(wù)器
4 domain 上找不到指定的 map
5 map 上找不到指定的索引鍵
6 yp 內(nèi)部有錯(cuò)
7 資源取得錯(cuò)誤
8 指定 map
[url=javascript:;]數(shù)據(jù)庫(kù)[/url]
中已無(wú)資料
9 無(wú)法與 portmapper 通訊
10 無(wú)法與 ypbind 通訊
11 無(wú)法與 ypserv 通訊
12 未配置本地的 domain
13 yp 數(shù)據(jù)庫(kù)有錯(cuò)
14 yp 版本不合
15 暴力存取
16 資料忙線中
yp_err_string
取得先前 yp 操作的錯(cuò)誤字符串。
語(yǔ)法: string yp_err_string(void);
返回值: 字符串
函數(shù)種類(lèi): 網(wǎng)絡(luò)系統(tǒng)
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得最后一次 yp 操作時(shí)的錯(cuò)誤字符串。本函數(shù)不需參數(shù)。
【編輯推薦】