The server at my old employer was rooted this past weekend and apparently the server provider made changes to the server which is affecting the PHP code.
The issue that has arisen is related to serializing objects. The objects being serialized, and other objects not being serialized, are being converted to strings thus breaking the code. This code worked before the server was hacked.
Here is what is happening:
$plate = new Plate();
$plate2 = clone $plate;
gettype($plate); // Prints "object"
gettype($plate2); // Prints "object"
$_SESSION['plate'] = serialize($plate);
gettype($plate); // Prints "string"
gettype($plate2); // Prints "string"
$plate = new Plate();
$plate2 = new Plate();
gettype($plate); // Prints "object"
gettype($plate2); // Prints "object"
$_SESSION['plate'] = serialize($plate);
gettype($plate); // Prints "string"
gettype($plate2); // Prints "string"
As you can see the objects, even those not being serialized, are being converted to strings. Any insights?
EDIT: They are running PHP 5.2.12 with register globals on.