PHP跨平台获取服务器IP地址自定义函数分享
近期需要完善一个log机制,监控来自不同服务器的机器的脚本执行状况,特针对windows和Linux及web与命令行模式书写了一个函数来兼容。
写了如下一个function来,可以实现上面的需求:
functiongetServerAddr(){
//运行webapp
if(isset($_SERVER["SERVER_ADDR"])){
return$_SERVER["SERVER_ADDR"];
}else{//RunningCLI
if(stristr(PHP_OS,'WIN')){
// 针对windows服务器所执行的一种hacky方式
exec("ipconfig/all",$catch);
foreach($catchas$line){
$new_catch[]=iconv("gbk","utf-8",$line)."\n";
}
foreach($new_catchas$new_line){
if(preg_match(‘/IPv4地址/',$new_line)){//中文系统
list($t,$ip)=explode(‘:',$new_line);
$ip=trim($ip);
preg_match(‘/((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))/',$ip,$match);
return$match[1];
}
}
}else{
$ifconfig=shell_exec(‘/sbin/ifconfigeth0′);
preg_match(‘/addr:([\d\.]+)/',$ifconfig,$match);
return$match[1];
}
}
}
$ip=getServerAddr();
print$ip;
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短