> > This one's got me stumped. I > have the following line in a script: > > $this->bc = ($this->network | (~$this->netmask)) & 4294967295; > > $this->network and $this->netmask should both be of type long, and I > should wind up with another long. I didn't write the original method, > and I can't remember what "bc" stands for at the moment, but it's part > of a tool for working out first and last IP address, netmask, and a > few other things from a subnet definition. > > On the old system, it works fine. On the new system, I get the following > error: > > "PHP Fatal error: Unsupported operand types in > /var/www/test/common_subnet.inc on line 39" > Have you checked the types being operated on? I'm wondering if somehow one of the object properties you're operating on has changed has changed in terms of type. I'd try var_dumping each of the properties ($this->network and $this->netmask) the line above just to make sure they didn't somehow get switched to a type that bitwise operators complain about (array, Object.) Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com