内容目录
最近遇到一个需求,要求在CLI下使用PHP获取服务端IP,大家知道通常我们借助Apache这样的Web服务器软件使用全局变量$_SERVER[‘SERVER_ADDR’]的方式获取服务端IP。但是在CLI下这样明显是无效的,这个时候我们往往会考虑借助LINUX命令来获取服务端IP。
现在推荐使用exec的方式来实现这个需求。
代码如下:
<?php exec('/sbin/ifconfig |grep \'inet addr:\' |grep -v \'127.0.0.1\' |awk \'{print $2}\' |awk -F : \'{print $2}\'',$arr); var_dump($arr[0]);
执行后可能会遇到这样一个warning,大概是提示exec这个函数就系统禁用的,那么我们就需要找到php.ini修改下disabled_function的里的配置,删除掉exec。
再执行一次就能得到我们想得到的结果了。
扩展阅读:http://php.net/manual/en/function.exec.php