Irgendwann in den letzten Tagen habe ich auf meinem Webserver PHP5 aufgespielt. Gestern Abend wollte ich mal wieder an das Typo3-Backend und siehe da – es ging nicht!
Die Fehlermeldung ging immer los mit „Cannot re-assign $this in /var/www/.. on line bla“ – und tatsächlich gab es dann in der Zeile bla eine Funktionsdeklaration die auch den Parameter ‚$this‘ neu definierte, z.B. ./typo3conf/ext/cal/hooks/class.tx_cal_tceforms_getmainfields.php:35:
....
class tx_cal_tceforms_getmainfields {
function getMainFields_preProcess($table,&$row,$this) {
....

Kühe– Ooops, ich wusste gar nicht, dass das geht – jedenfalls seit neuerem (php5.x) geht es nicht mehr.
Die Probleme, so stellte sich dann im Laufe der Zeit heraus, ergaben sich durchweg aus älteren Plugins. Nachdem ich immer das Plugin, das die aktuelle Fehlermeldung hervorrief, updatet hatte (löschen der gecachten Dateien ./typo3conf/temp_CACHED_*.php nicht vergessen!), kam das nächste veraltete Plugin mit einer fast gleich lautenden Fehlermeldung aus den Büschen – und weiter ging’s.
Ein Problem machte noch das Plugin static_info_tables weil es vom Backend benötigt wird. Einfach nur das Plugin static_info_tables updaten klappte wegen der Abhängigkeit aus dem Plugin static_info_tables_de nicht. Ich sollte erst static_info_tables_de deaktivieren, danach funktionierte dann aber static_info_tables nicht mehr und damit fiel dann auch das Backend aus.
Ich musste dann händisch das Verzeichnis ./typo3conf/ext/static_info_tables_de dort löschen, danach funktionierte das Backend wieder und ich konnte static_info_tables updaten – schwitz!