[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Php > 正文
PHP4手冊:函數庫及函數(三十五) NIS 函式庫
http://netleader.126.com 星空浪子 (2001-04-18 15:32:27)

--------------------------------------------------------------------------------
 NIS 函式庫 
--------------------------------------------------------------------------------
 


本函式庫共有 8 個函式
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() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_get_default_domain
取得機器的 Domain。

語法: string yp_get_default_domain(void);

傳回值: 字串

函式種類: 網路系統


 
 
內容說明 


本函式用來尋找伺服器本身所處的 Domain。執行成功則傳回 Domain 字串,失敗則傳回 false。本函式執行時不需要加參數。


 
 
使用范例 


$domain = yp_get_default_domain();
if(!$domain) {
  echo yp_errno() . ": " . yp_err_string();
}
echo "NIS 的 domain 為: " . $domain;
?> 

 
 
參考 


yp_errno()  yp_err_string()  

 

--------------------------------------------------------------------------------
 函式:yp_order() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_order
傳回 map 的序數。

語法: int yp_order(string domain, string map);

傳回值: 整數

函式種類: 網路系統


 
 
內容說明 


本函式用來取得 map 的序數,在取得 Domain 及 map 之使用。傳回值為 map 序數,若失敗則傳回 false。


 
 
使用范例 


$number = yp_order($domain, $mapname);
if(!$number) {
  echo yp_errno() . ": " . yp_err_string();
}
echo "Map 序數為: " . $order;
?> 

 
 
參考 


yp_get_default_domain()  yp_errno()  yp_err_string()  


--------------------------------------------------------------------------------
 函式:yp_master() 
--------------------------------------------------------------------------------
 


NIS 函式庫


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() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_match
取得指定資料。

語法: string yp_match(string domain, string map, string key);

傳回值: 字串

函式種類: 網路系統


 
 
內容說明 


本函式用來獲取指定 Domain 中 Map 中的指定資料。參數 key 可指定使用者名稱等。


 
 
使用范例 


下例用來取得 wilson 的資訊

$entry = yp_match($domain, "passwd.byname", "wilson");
if(!$entry) {
  echo yp_errno() . ": " . yp_err_string();
}
echo "取得字串為: " . $entry;
?>

傳回字串類似下面的字串
wilson:##wilson:12345:380:Wilson Peng:/home/wilson:/bin/bash 

 
 
參考 


yp_get_default_domain()  yp_errno()  yp_err_string()  

--------------------------------------------------------------------------------
 函式:yp_first() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_first
傳回 map 上第一筆符合的資料。

語法: array yp_first(string domain, string map);

傳回值: 陣列

函式種類: 網路系統


 
 
內容說明 


本函式用來取得指定 map 上第一筆傳回資料的索引和其值。傳回資料為陣列,若失敗則傳回 false。


 
 
使用范例 


$entry = yp_first($domain, "passwd.byname");
if(!$entry) {
  echo yp_errno() . ": " . yp_err_string();
}
$key = key($entry);
echo "第一筆索引為: ".$key."\n";
echo "其值為: ".$entry[$key];
?> 

 
 
參考 


yp_get_default_domain()  yp_errno()  yp_err_string()  


--------------------------------------------------------------------------------
 函式:yp_next() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_next
指定 map 的下筆資料。

語法: array yp_next(string domain, string map, string key);

傳回值: 陣列

函式種類: 網路系統


 
 
內容說明 


本函式用來取得 map 上指定資料的下筆傳回資料的索引和其值。傳回資料為陣列,若失敗則傳回 false。


 
 
使用范例 


$entry = yp_next($domain, "passwd.byname", "wilson");
if(!$entry) {
  echo yp_errno() . ": " . yp_err_string();
}
$key = key($entry);
echo "Wilson 的索引為: ".$key."\n";
echo "其值為: " . $entry[$key];
?> 

 
 
參考 


yp_get_default_domain()  yp_errno()  yp_err_string()  



--------------------------------------------------------------------------------
 函式:yp_errno() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_errno
取得先前 YP 操作的錯誤碼。

語法: int yp_errno(void);

傳回值: 整數

函式種類: 網路系統


 
 
內容說明 


本函式用來取得最一次 YP 操作時的錯誤代碼,代碼值及意義見下表

代碼 意義 
1 函式的參數有錯 
2 RPC 錯誤 - 不再系著 Domain 
3 在 Domain 上無法系住伺服器 
4 Domain 上找不到指定的 map 
5 Map 上找不到指定的索引鍵 
6 YP 內部有錯 
7 資源取得錯誤 
8 指定 Map 資料庫中已無資料 
9 無法與 portmapper 通訊 
10 無法與 ypbind 通訊 
11 無法與 ypserv 通訊 
12 未設定本地的 Domain 
13 YP 資料庫有錯 
14 YP 版本不合 
15 暴力存取 
16 資料忙線中 


--------------------------------------------------------------------------------
 函式:yp_err_string() 
--------------------------------------------------------------------------------
 


NIS 函式庫


yp_err_string
取得先前 YP 操作的錯誤字串。

語法: string yp_err_string(void);

傳回值: 字串

函式種類: 網路系統


 
 
內容說明 


本函式用來取得最一次 YP 操作時的錯誤字串。本函式不需參數。 (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55)
PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16)
PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09)
PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33)
PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13)
PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35)
PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08)
PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)

===更多相關===
 

★  樊強制作 歡迎分享  ★