
不是机器的外网 ip,是机器网卡上的 ip 地址。
我知道 swoole 有 swoole_get_local_ip()可以获取本地 ip 列表,但是不满足我跨平台的需求。
1 msg7086 2018-01-11 18:58:47 +08:00 你问的是和内核有关的问题,要跨平台当然是先判断目标平台然后分别调用相应的系统 API 了。 PHP 可能做不到这点,毕竟要调用 syscall。 |
2 msg7086 2018-01-11 19:01:09 +08:00 Linux: http://man7.org/linux/man-pages/man3/getifaddrs.3.html Windows: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365915.aspx 你可能要自己写 PHP 扩展了。 |
3 alpha1130 2018-01-11 19:20:58 +08:00 WEB 服务下面可以用$_SERVER['REMOTE_ADDR']拿到当前响应服务器的 IP |
4 alpha1130 2018-01-11 19:21:54 +08:00 。。。。。。。。。没看到是内网 |
5 vex2 2018-01-11 19:23:19 +08:00 `ifconfig` |
6 bigtwo 2018-01-11 19:26:43 +08:00 下几个不同的 php 探针研究 |
7 owenliang 2018-01-11 20:08:36 +08:00 via Android api 是有的 都是拿网卡的信息 |
8 yingfengi 2018-01-11 21:03:12 +08:00 研究下 php 探针 |
9 mingyun 2018-01-12 00:13:24 +08:00 >>> gethostbyname('') => "192.168.1.101" |
10 iRiven 2018-01-12 00:19:09 +08:00 via Android /proc/net/wireless /proc/net/dev 这个目录下的文件 一个一个找过去 |
15 zsdroid 2018-01-12 15:12:53 +08:00 php -r "echo gethostbyname(gethostname())" |
16 zsdroid 2018-01-12 15:14:19 +08:00 少了分号,v2ex 好像没有编辑功能。。 |
18 sunchuo 2018-01-13 22:21:14 +08:00 gethostbyname(gethostname()); |
19 282853251 2018-01-14 15:02:20 +08:00 只写 PHP 代码,你的这个需求,做不到。 |