叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(三十五) NIS 函式库

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (521)

--------------------------------------------------------------------------------
 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 操作时的错误字串。本函式不需参数。

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]