PHP跨平台获取服务器IP地址自定义函数分享
2023-06-13 09:15:38 时间
近期需要完善一个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;
相关文章
- php连接ldap服务器,使用PHP连接LDAP服务器[通俗易懂]
- Linux服务器配置Redis并启用PHP支持
- MySQL与PHP的基础与应用专题之表连接
- 的应用利用PHP中MySQL函数实现功能强大的数据库操作(php中mysql函数)
- 常用php操作redis命令整理(三)LIST类型详解编程语言
- php图片下载详解编程语言
- 部署PHP应用:Linux服务器上的挑战(linux部署php)
- 使用PHP执行Linux脚本:简单而快速!(php执行linux脚本)
- php开发MySQL 4.1 PHP开发:越来越优秀(mysql4.1)
- 器使用Linux快速启动PHP服务器(linux启动php服务)
- 库学会使用PHP操作MSSQL类库,輕鬆完成高效工作(php操作mssql类)
- PHP 如何调用 MySQL 函数(php调用mysql函数)
- 使用PHP实现Redis分布式缓存(php实例化redis)
- 数据库解决PHP连接远程MySQL数据库的问题(php连接远程mysql)
- 坚持不懈:用PHP实现MSSQL数据库连接(php链接mssql函数)
- PHP实现MS SQL服务器配置指南(phpmssql配置)
- PHP与MySQL的更新:让Web应用更稳定!(php mysql 更新)
- PHP图片上传至MySQL:实现快速可靠的数据存储(php图片上传mysql)
- WINDOWS服务器安装多套PHP的另类解决方案
- 推荐没有虚拟主机的小巧的Mysql数据库备份脚本(PHP)
- PHP下用rmdir实现删除目录的三种方法小结
- 一步一步学习PHP(4)php函数补充2
- php入门学习知识点七PHP函数的基本应用
- 使用PHP获取当前url路径的函数以及服务器变量