【发布时间】:2014-03-29 17:15:24
【问题描述】:
我在使用 PHP 5.5 时遇到了一个错误,而 PHP5.3 和 5.4 没有出现这种错误。 对于 IPv6 地址,函数 inet_ntop() 会抛出一个错误:
in_addr 值无效。
您可以在Github 上查看我的工作(功能在Network.php, line 88)。 也可以在Travis-CI查看测试作业
你知道如何解决它吗?
感谢您的帮助。
【问题讨论】:
-
文档中的注释可能是相关的:如果 PHP 是在启用 IPv6 支持的情况下构建的
-
你传递给这个函数的数据是什么?在此处包括函数(它是单行的!)及其参数;没有理由链接到 github。
-
被调用的函数是
getIPv6Range('fe80::10/64')。该函数应返回一个包含网络的第一个和最后一个地址的数组。我转换此参数以获取二进制的 IP 和掩码,然后得到结果('fe80::'和'fe80::ffff:ffff:ffff:ffff')。我对其他数据集和 PHP5.5 也有同样的问题,但在其他版本的 PHP 上也能正常工作。