Contenido 4.9.3 auf PHP 5.4 leere weiße Seite nach Backend-Login

Installiert man Contenido 4.9.3 unter PHP 5.4, z.B. auf einem Debian-Server mit den Standardeinstellungen für PHP, so erscheint nach dem Backend-Login nur eine weiße Seite. Im Fehlerlog von Contenido findet sich der Eintrag
PHP Fatal error: Class 'cSmartyBackend' not found in /contenido/plugins/smarty/classes/class.smarty.backend.php on line 24

Auch wenn mich das Bugtracking ziemlich aufgehalten hat, ist die Lösung eigentlich recht einfach. In der im Fehlerlog benannten Datei class.smarty.backend.php wird in Zeile 24 die Klasse Contenido_Backend_SmartyWrapper von der Elternklasse cSmartyBackend abgeleitet. Diese wird erst im Anschluss an diese Klassendefinition deklariert. Dieses ist aber in PHP >= 5.4 in den Standards (strict) nicht mehr erlaubt. Die Elternklasse muss bereits deklariert sein bevor man eine andere Klasse von ihr ableiten kann.

Die Abhilfe ist daher ganz einfach. Indem man die beiden deklarierten Klassen in der Datei tauscht ist wieder alles im Reinen und das Backend erscheint wieder nach dem Login.
Da die Klasse Contenido_Backend_SmartyWrapper als deprecated gekennzeichnet ist wird sich das Problem aber irgendwann sowieso erledigen.