【发布时间】:2015-05-29 10:23:40
【问题描述】:
我在 CakePHP 中遇到以下错误,该函数在 PHP 中工作正常,只是在 Cake 中没有,有谁知道为什么不支持此功能或解决方法?
Error: Unsupported operand types
File: /var/www/spitdev/console2/app/Lib/IpLib.php
Line: 40
Notice: If you want to customize this error message, create app/View/Errors/fatal_error.ctp
功能:
public function lastHost($ip_add, $subnet_mask){
$ip = ip2long($ip_add);
$nm = ip2long($subnet_mask);
$nw = ($ip & $nm);
$bc = $nw | (~$nm); <------------LINE 40
$lh = long2ip($bc - 1);
return $lh;
}
【问题讨论】:
-
我非常怀疑这是 CakePHP 特有的。它看起来像一个基本的 PHP 问题。
-
$submet_mask很可能无效并且 ip2long 返回 false。然后按位~operator 是引发错误的原因。 -
检查 $nm 和 $nw 中是否有任何空数据。我遇到过这类问题。