php,微信扫码支付开发,在部分电脑上测试,出现invalid spbill_create_ip错误

最近在做支付的开发,微信网页扫码支付,语言是php。
在本地开发和测试很顺利,在大部分电脑上测试也正常。但是在某几台电脑上测试时,执行到微信统一下单一步时,会返回错误信息“invalid spbill_create_ip”。

试了两种方案:
1、用$ip = Request::getClientIp(true);获取IP。
输出的$ip变量是string '::1' (length=3)
2、指定$ip = '192.168.1.1';
输出的$ip变量是string '192.168.1.1' (length=11)

两种方案都是报同样的错“invalid spbill_create_ip”

不知道该如何解决?

请教各位前辈!如果有遇到过这个问题或者类似问题的前辈,希望能够给我一些指点。谢谢!

spbill_create_ip 订单生成的机器IP
看看是不是没有正确获取这些机器的ip。

输出的$ip变量是string '::1' (length=3)
这是你在本地计算机上调试的时候产生的本机ip。外网访问不会是::1

我也遇到这个问题,据说是ipv4和ipv6的问题,我也不是很懂了,我是在这个地方改的$this->parameters["spbill_create_ip"] = gethostbyname($_ENV['COMPUTERNAME']) ;//获取终端ip
不知道是不是正确,反正可以用了,有很多开发上的问题能交流就好了

终于搞明白怎么回事
使用localhost访问会出现此问题,使用127.0.0.1访问不会出现此问题
ping localhost发现地址为::1
参考文章http://www.cnblogs.com/hayywcy/p/5341550.html
WIN10 LOCALHOST 解析为 IPV6地址 ::1 的解决办法

打开注册表,找到键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters ,添加类型为DWORD 名字为 DisabledComponents 的项(已经有了的不用添加直接改值)。然后修改值为20,值类型为16进制 。

补充一下 DWORD是32位
重启电脑后, PING LOCALHOST恢复127.0.0.1

再调试微信支付不会出现invalid spbill_create_ip错误