php cli方式下获取服务器ip

php内核没有提供这样的命令,需要借助linux中的命令ifconfig来实现,如下两个函数代码:

function getServerIp(){ 
        $ss = exec('/sbin/ifconfig eth0 | sed -n \'s/^ *.*addr:\\([0-9.]\\{7,\\}\\) .*$/\\1/p\'',$arr);      
        $ret = $arr[0]; 
        return $ret; 
    }

二、php cgi方式下获取服务器ip

/**
* 获取客户端IP地址
* @return string
*/  
function get_client_ip() {  
    if(getenv('HTTP_CLIENT_IP')){  
        $client_ip = getenv('HTTP_CLIENT_IP');  
    } elseif(getenv('HTTP_X_FORWARDED_FOR')) {  
        $client_ip = getenv('HTTP_X_FORWARDED_FOR');  
    } elseif(getenv('REMOTE_ADDR')) { 
        $client_ip = getenv('REMOTE_ADDR');  
    } else { 
        $client_ip = $_SERVER['REMOTE_ADDR']; 
    }  
    return $client_ip;  
}    
/**
* 获取服务器端IP地址
* @return string
*/  
function get_server_ip() {  
    if (isset($_SERVER)) {  
        if($_SERVER['SERVER_ADDR']) { 
            $server_ip = $_SERVER['SERVER_ADDR'];  
        } else {  
            $server_ip = $_SERVER['LOCAL_ADDR'];  
        }  
    } else {  
        $server_ip = getenv('SERVER_ADDR'); 
    }  
    return $server_ip; 

最新文章

  1. 在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)
  2. js实现下滑加载更多的效果
  3. mvc通过controller创建交互接口
  4. JNI数据类型(转)
  5. Android 编程下的 Secret Code
  6. 【LeetCode OJ】Palindrome Partitioning
  7. 怎样批量把excel中已显示的科学计数法取消
  8. Robot Framework自动化测试(一)---第一个脚本(转)
  9. 1637: [Usaco2007 Mar]Balanced Lineup
  10. 用python开发调试器——起始篇
  11. 读《图解HTTP》有感-(HTTP首部)
  12. 不能再忽视了!宝宝不肯吃粥的N个原因,你避免了几个?
  13. mysql导入自定义函数不成功的解决方法
  14. 代码中特殊的注释技术——TODO、FIXME和XXX的用处(转)
  15. laravel获取的数据转换为数组
  16. How to Create Triggers in MySQL
  17. Spark Streaming 执行流程
  18. 项目梳理5——修改已生成.nuspec文件
  19. scanf格式化中的\n
  20. 数学图形(1.45)毛雷尔玫瑰(Maurer rose)

热门文章

  1. nginx添加第三方模块
  2. juqery easy ui 实现二级菜单联动
  3. AngularJS实现表单手动验证和表单自动验证
  4. Xcode把应用程序打包成ipa
  5. Tomcat 6.0.32 +Spring dbcp datasource关闭Tomcat出现严重异常
  6. BZOJ 1017 魔兽地图DotR(树形DP)
  7. 董事长、总裁与CEO的区别与实质
  8. Unix/Linux环境C编程入门教程(42) 终端控制篇
  9. 【转】如何在ubuntu12.04设置adb驱动
  10. unix c 10