【问题标题】:inet_ntop and IPv6 addresses and PHP 5.5inet_ntop 和 IPv6 地址以及 PHP 5.5
【发布时间】: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 上也能正常工作。

标签: php ipv6 inet-ntop


【解决方案1】:

事实上,我没有正确使用该功能,它正在发送格式错误的数据。 现在可以正常工作了,你可以看看更正后的类here

无论如何,谢谢你的回答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 2010-12-30
    • 2018-07-23
    • 2016-04-25
    • 1970-01-01
    • 2015-04-01
    • 2018-09-23
    相关资源
    最近更新 更多