Hallo,
Muss doch zu finden sein, warum das plötzlich Probleme gibt.
Es gibt plötzlich Problem, weil die Funktion einfach Schrott ist. Sie reagiert auf unterschiedlichen Systemen einfach vollkommen unterschiedlich - und ich kann mir sehr gut vorstellen (sagte ich bereits), dass unterschiedliche Compiler- oder PHP-Versionen auch nochmal unterschiedlich reagieren.
Wenn man Bitoperationen in PHP implementiert, muss man höllisch aufpassen - auch wegen der Tatsache dass es bei PHP auf Grund der schwachen Typisierung nicht möglich ist, bestimmte Datentypen zu forcieren ohne zusätzlichen Aufwand. Die Funktion ist schlichtweg nicht portabel und alle Versuche, auf anderen Systemen das exakte (!) Verhalten der Funktion auf einem bestimmten System nachzustellen MUSS mit einer _kompletten_ (!) Emulation der jeweiligen CPU sowie des Verhaltens von PHP in der spezifischen Version auf dieser CPU einhergehen - was hochgradig nichttrivial ist und in meinen Augen den Aufwand einfach nicht wert. Nehmt eine andere Funktion, das ist der einzige sinnvolle Ratschlag, den man erteilen kann.
Viele Grüße,
Christian