OrtwinPinke.de

Gedanken eines PHP-Entwicklers…

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

Dienstag 18. Februar 2014 von Ortwin Pinke

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.

Stimmen Sie ab:
1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5,00 out of 5)
Loading ... Loading ...

Dieser Beitrag wurde erstellt am Dienstag 18. Februar 2014 um 14:07 und abgelegt unter Contenido. Kommentare zu diesen Eintrag im RSS 2.0 Feed. Sie können einen Kommentar schreiben, oder einen Trackback auf Ihrer Seite einrichten.

Kommentar schreiben