我已使用此代码
$ip = change_ipv4_ipv6($_SERVER['REMOTE_ADDR']);
$giasn = geoip_open("GeoIPASNumv6.dat", GEOIP_STANDARD);
$asn = geoip_name_by_addr_v6($giasn, $ip);
geoip_close($giasn);
在这段代码之后我回复了这样的记录
echo 'Shell';
它给出了这样的结果
1111111111111111111Shell
当我删除geopip代码时,它会显示如下所示的结果
壳牌
我想要乘坐这些人。任何建议
感谢
答案 0 :(得分:1)
很可能在其中一个函数中的某个位置正在打印。
在geoip函数中搜索print / echo,它在黑暗中是一个刺,但我想猜测它是在回显一个布尔值。
当你说"When i remove geopip code then it shows result like belo"w
这应该会给你一个线索,即回声来自 geoip代码,尝试逐个注释掉这些函数,找出导致它的函数。
答案 1 :(得分:1)
我使用最新版本的GeoIP from GitHub对此进行了测试,但我无法重现它。我建议升级您的库版本。
答案 2 :(得分:0)
这些肯定会在代码中的其他地方得到回应。尝试包含未修改的geoip库副本,或者尝试在代码中找到它们回显的确切位置。
答案 3 :(得分:0)
您可以使用ob_start()
和ob_end_clean()
来抑制geoip功能的输出:
ob_start();
$ip = change_ipv4_ipv6($_SERVER['REMOTE_ADDR']);
$giasn = geoip_open("GeoIPASNumv6.dat", GEOIP_STANDARD);
$asn = geoip_name_by_addr_v6($giasn, $ip);
geoip_close($giasn);
ob_end_clean();
echo 'Shell';
答案 4 :(得分:0)
我遇到了问题。放在这里可能有助于其他人来这篇文章
我在我的代码中调用了一个函数来转换ip类。
change_ipv4_ipv6($_SERVER['REMOTE_ADDR']);
在这个功能中我回应了答案。我用return替换所有echo。现在1111111消失了。谢谢你的有用答案