typogento-logo

TypoGento und neuere Versionen von TYPO3

Wer TypoGento verwendet oder verwenden möchte und dabei eine neue TYPO3-Version einsetzt, erhält bei der aktuellen Version einen Fehler. Der Fehler tritt bei allen TYPO3-Versionen auf, welche nicht mehr von der Sicherheitslücke TYPO3-CORE-SA-2011-001 betroffen sind.

Der Grund für den nun auftretenden Fehler ist ein deutlich vorgezogenes Starten der PHP-Session, wenn ein Benutzer eingeloggt ist. Dieses vorgezogene Starten der Session war für das Beheben der Sicherheitslücke entscheidend. Die Fehlermeldung, welche ein Webseiten-Besucher zu sehen bekommt ist die Folgende:

Fatal error: Mage_Core_Model_Session_Abstract::getMessages() [mage-core-model-session-abstract.getmessages]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Mage_Core_Model_Message_Collection" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /.../magento/app/code/core/Mage/Core/Model/Session/Abstract.php on line 215

Der Fehler tritt auf, weil TypoGento für das Laden von Magento-Klassen den Magento-Autoloader entfernt und gegen einen eigenen Autoloader ersetzt. Dass passiert bei Rendern des Plugin-Codes.

Magento speichert PHP-Objekte serialisiert in der Session. Wenn die Session gestartet wird, werden diese Objekte wieder deserialisiert. Das klappt aber nur, wenn der Autoloader von TypoGento bereits registriert ist. Bisher war das der Fall. In den neueren TYPO3-Versionen wird die Session aber deutlich früher wieder hergestellt und der Autoloader ist noch nicht ausgetauscht bzw. registriert. Somit kommt es zu der o.g. Fehlermeldung.

Um mit dem geändertem Session-Handling umgehen zu können, haben wir einige Punkte in TypoGento refactored. Allerdings wird TypoGento nun nur noch mit TYPO3 4.3 und neuer funktionieren. Wer einen ersten Entwicklungsstand ausprobieren möchte, kann sich auf GitHub (https://github.com/Flagbit/TypoGento) den Branch „beta“ downloaden. Für Feedback sind wir selbstverständlich dankbar.

Betroffen sind im Übrigen die TYPO3-Versionenen 4.3.12 und neuer, 4.4.9 und neuer sowie 4.5.4 und neuer. Somit sind also auch alle aktuellen TYPO3-Versionen betroffen.

Hinterlasse einen Kommentar

4 Kommentare auf "TypoGento und neuere Versionen von TYPO3"

Benachrichtige mich zu:
avatar

Sortiert nach:   neuste | älteste | beste Bewertung
Thomas
Gast
Thomas
4 Jahre 6 Monate her

Auch in der aktuellen Version, Typo3 4.5.6 und der aktuellen Beta-Variante von TypoGenti tritt dieser Fehler auf. Eine kurze Beschreibung zur manuellen Behebung des Bugs wäre hilfreicher gewesen, als nur einen Link zu Github zu posten…

Artus
Gast
Artus
4 Jahre 6 Monate her

Hallo Frederic,

ich weiß nicht so recht diese Meldung einzuordnen: Derzeit entwickle ich an einer Anpassung von TypoGento unter TYPO3 4.5.7. Nun erst ist mir aufgefallen, dass dieses Thema offensichtlich wieder passé ist. Zumindest habe ich kein Problem im Backend mit einem angepassten Autoloader, der nur noch über Zeile 63 in tx_fbmagento_modadmin geladen wird – im Frontend verwende ich weiter $GLOBALS[‚TYPO3_CONF_VARS‘][‚SC_OPTIONS‘][‚tslib/index_ts.php‘][‚preprocessRequest‘]. Der Grund dafür war auch schnell gefunden: http://forge.typo3.org/issues/29274#note-4. Wie ist nun der Status des Beta-Branches zu bewerten?

Artus
Gast
Artus
4 Jahre 6 Monate her

Hallo Flagbit,

mit Schließung von http://forge.typo3.org/issues/29274 besteht diese Problem nicht mehr. Zuletzt getestet mit 4.5.7. Aber was schreib‘ ich hier, dem Ticket zufolge seid ihr darüber längst informiert… 😉

wpDiscuz
Weitere Beiträge zum Thema
Flagbit-Logo wurde angebracht
Auch neu bei Flagbit: Individualentwickler Manuel Transfeld
Flexible runde Ecken mit TYPO3
Website mit mehrsprachigen, unabhängigen News