Я получаю сообщение об ошибке ниже в 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;
}
Это не проблема операнда, а передачи значения. Убедитесь, что $ ip_add и $ subnet_mask получают значения VALID, а не пустые.
Так как
$test=$this->lastHost('69.89.31.226','255.0.0.0');
var_dump($test);
возвращая действительный результат, пока
$test_again=$this->lastHost('','');
var_dump($test_again);
возвращая ту же ошибку, что и вы указали
Других решений пока нет …