我偶然发现了以下问题:
“以下代码的输出是什么?”
echo long2ip(ip2long("127.0.255"));
正确答案是:“127.0.255.0”。
虽然这似乎是合乎逻辑的,因为php 手册中提到了这种行为,甚至在德国手册中也有一个例子,但我在重现它时遇到了问题。
我的代码产生以下输出:
echo ip2long("127.0.255"); // outputs: FALSE
echo long2ip(ip2long("127.0.255")); //outputs: 0.0.0.0
我测试过的机器有以下软件版本:
- PHP 5.3.3-7+squeeze15 与 Suhosin-Patch
- Suhosin 补丁 0.9.9.1
我的同事都无法给我一个准确的解释。我们唯一的假设是,它可能与 Suhosin-Patch 冲突。
如果您有解释,请告诉我。