KundenloginKD-Login
Webmail

TYPO3 Fehler - Tipps zur Behebung

Häufiges Problem: es wurden Änderungen durchgeführt und plötzlich funktioniert ein TYPO3 Projekt nicht mehr. Hier ein paar Tipps, wie man vorgeht um dem Fehler auf die Spur zu kommen.

Fehleranzeige einschalten

Im Frontend erscheint nur noch eine leere Seite oder im Backend bleibt ein Teil des Bildschirms einfach leer: hier liegt meist ein PHP Fehler vor. 

Da in den meisten Konfigurationen die Ausgabe von Fehlermeldungen unterdrückt wird, sollte man zunächst die Anzeige von Fehlermeldungen einschalten. Dazu setzt man im Install-Tool unter 'All Configuration' den Parameter displayErrors auf 2. Zusätzlich muss noch im Parameter devIPmask noch die eigene IP-Adresse angegeben werden, damit die Fehler angezeigt werden (setzt man den Parameter displayErrors auf 1, werden die Fehler unabhängig von der IP-Adresse ausgegeben).

Statt im Installtool können die Parameter auch direkt in der Datei localconf.php editiert bzw. eingefügt werden:

$TYPO3_CONF_VARS['SYS']['displayErrors'] = '2'; 
$TYPO3_CONF_VARS['SYS']['devIPmask'] = 'Ihre IP Adresse';

In den meisten Fällen gibt die Fehlermeldung Auskunft, in welcher Extension oder welchem Bereich von TYPO3 der Fehler auftritt. Es kann sehr hilfreich sein, die Fehlermeldung mal bei Google einzugeben...

Fehler bei der Bildbearbeitung

Probleme mit der Darstellung von Bildern auf der Webseite oder Vorschaubildern im Backend liegen oftmals an falschen oder veralteten Einstellungen im Installtool.

Mit den folgenden Einstellungen lassen sich die Bilder problemlos bearbeiten:

Parameter Einstellung Bedeutung
im_path /usr/bin/ Pfad in dem sich ImageMagik befindet
im_path_lzt [kein Eintrag] veraltet, Pfad zu convert falls LZW- Komprimierung durchgeführt wird
im_version_5 gm ImageMagic Version
imagefile_ext gif,jpg,jpeg,tif,bmp,pcx, tga,png,pdf,ai Dateiformate, die von TYPO3 als Grafikformate behandelt werden sollen
TTFdpi 96 dpi-Wert für TrueType
gdlib_2 1 Option für GDlib 2.0.1+ aktivieren
im_noScaleUp 1 Hochskalierung von Bildern verhindern
enable_typo3temp_db_tracking 1 zeichnet Erstellung von Temporärdaten auf, um doppelte Rendering-Prozesse zu verhindern
png_truecolor 1 PNG-Dateien werden als TrueColor-Bilder gerendert

Hier sind nochmals alle Einstellungen aus der Datei localconf.php zusammgefasst. Bei Bedarf den Text am Ende der Datei (jedoch vor der letzten Zeile mit '?>') einfügen:

$TYPO3_CONF_VARS['GFX']['TTFdpi'] = '96';
$TYPO3_CONF_VARS['GFX']['gdlib_2'] = '1';
$TYPO3_CONF_VARS['GFX']['noIconProc'] = '0';
$TYPO3_CONF_VARS['GFX']['imagefile_ext'] = 'gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai';
$TYPO3_CONF_VARS['GFX']['im_noScaleUp'] = '1';
$TYPO3_CONF_VARS['GFX']['enable_typo3temp_db_tracking'] = '1';
$TYPO3_CONF_VARS['GFX']['im_path'] = '/usr/bin/';
$TYPO3_CONF_VARS['GFX']['imagefile_ext'] = 'gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai';
$TYPO3_CONF_VARS['GFX']['im_noScaleUp'] = '1';
$TYPO3_CONF_VARS['GFX']['png_truecolor'] = '1';
$TYPO3_CONF_VARS['GFX']['im_path_lzw'] = '/usr/bin/';
$TYPO3_CONF_VARS['GFX']['gif_compress'] = '1';
$TYPO3_CONF_VARS['GFX']['im_version_5'] = 'gm';
$TYPO3_CONF_VARS['SYS']['systemLocale'] = 'de_DE';

mysql_fetch_assoc: supplied argument...

Eine der häufigesten Fehlermeldungen sieht in etwa so aus:

Warning: mysql_fetch_assoc(): supplied argument is not a valid 
MySQL result resource in ...\t3lib\class.t3lib_db.php on line ...

Unabhängig vom Fehler wir hier allerdings immer die gleiche Progammzeile als Fehlerquelle ausgegeben. Das liegt daran, dass in TYPO3 alle Datenbankzugriffe über eine Zwischenfunktion (Abstraction Layer) ausgeführt werden - und von dort erfolgt die Fehlermeldung. 

Um herauszufinden, welche Datenbankabfrage fehlgeschlagen ist, schaltet man über das Installtool die Funktion SQLdebug ein. Dann erfolgt eine detaillierte Fehlermeldung inklusive dem auslösenden SQL-Befehl.

Fehler nach Extension-Installation

Da will man eine neue Extension ausprobieren, aber nach der Installation funktioniert die Webseite nicht mehr. Der Versuch sich in das Backend einzuloggen um die Extension zu deinstallieren funktioniert auch nicht mehr.

Dieses Problem tritt häufig auf, wenn die Extension von weiteren Extensions abhängig ist, die nicht installiert sind (Fatal Error: Extension ... was not loaded). Oder aber die Extension ist nicht kompatibel zur verwendeten PHP Version. 

Hier hilft nur die manuelle De-Installation der Erweiterung.

Bis TYPO3 CMS 4.7.x

Dazu wird über einen FTP- oder SSH-Zugang die Datei typo3conf/localconf.php bearbeitet. Dort sucht man den Eintrag $TYPO3_CONF_VARS['EXT']['extList'] und entfernt den Eintrag mit dem Namen der Extension am Ende der Liste. Nach dem Speichern löscht man noch die Dateien temp_CACHED... im gleichen Verzeichnis. Anschließend sollte die Webseite und das Login wieder funktionieren.

Ab TYPO3 CMS 6.0

Hier muss die Datei typo3conf/LocalConfiguration.php bearbeitet werden. Hier sucht man den Bereich 'extListArray' => array(...) und entfernt innerhalb dieses Arrays die Zeile mit dem Namen der Extension und speichert die Datei. Anschliessend kann man noch das Verzeichnis typo3temp/Cache/ leeren.

Fehler im TypoScript Code

Auch in TypoScript können sich leicht Fehler einschleichen: eine Klammer zuviel oder zuwenig oder ein Buchstabendreher und schon funktioniert die Seite nicht mehr oder eine eigentlich konfigurierte Funktion ist plötzlich nicht mehr verfügbar.

Sinnvoll ist hier die Verwendung des TypoScript Object Browsers, denn hier erscheinen dann Fehlermeldungen. Bei den einzelnen Nachrichten wird die Zeilennummer des Fehlers ausgegeben. Über den TypoScript Analyzer kann man durch klicken auf die einzelnen Module schnell die Stelle mit dem Fehler finden.

Links zu Bildern oder Dateien werden nicht gespeichert

Problem: In der Option Bilder bzw. Medien zu verlinken kann die Checkbox nicht gesetzt werden und der eingegebene Link verschwindet nach dem Speichern.

Lösung: In der Datei localconf.php muss die folgende Zeile hinzugefügt werden (die Einstellung kann auch mit dem Installtool unter 'All Configuration' erfolgen):

$TYPO3_CONF_VARS['SYS']['doNotCheckReferer'] = '1';

Links zu Bildern oder Dateien erscheinen mit dem Tag

Problem: beim Verlinken einer Datei im RTE erscheint nach dem Speichern das Tag <media ...> um das verlinkte Wort. Das Problem tritt nur bei Verwendung der DAM Extension auf.

Lösung: Beim Laden der Extensions kommt es auf die Reihenfolge an. Es muss darauf geachtet werden, dass in der Datei localconf.php beim Eintrag [extList] die Extension rtehtmlarea vor der Extension DAM geladen wird.

RTE wird nicht geladen

Falls der Rich Text Editor (Extension rtehtmlarea) nicht geladen wird, hilft es oft, wenn man im Menü unter Benutzer › Werkzeuge die Funktion "Konfiguration zurücksetzen und temporäre Daten löschen" ausführt.

Thumbnails von Bildern mit Umlauten werden nicht angezeigt

Wenn im Backend Bilder mit Umlauten im Dateinamen nicht angezeigt werden, so muss man im Installtool folgende Anpassung machen: 

$TYPO3_CONF_VARS['SYS']['systemLocale'] = 'de_DE.utf-8';

Protokoll (Log) kann nicht mehr aufgerufen werden - Fehler bytes exhausted

Wenn unter Adminwerkzeuge der Menüpunkt Protokoll folgende Fehlermeldung erscheint:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 22471174 bytes) in /server_pfad_des_kunden/typo3/template.php

oder den Error 500 ausgibt, dann ist unter Protokoll die Anzahl (limit) der darzustellenden Werte und die Zeit (time) auf unendlich (no limit) gesetzt worden und die Einträge in der sys_log sind zu viel.
Zur Behebung des Problems gibt es zwei Lösungen:

  • Unter Benutzerwerkzeuge den Button "Clear Temporary Data" klicken.
  • Unter Adminwerkzeuge › Benutzer › einen neuen Backend User anlegen und den alten User löschen.

ADONewConnection: Unable to load database driver

Diese Meldung erscheint, wenn man die Extensions adodb und dbal installiert, jedoch nicht konfiguriert hat. Die Extension dbal ist -bis auf seltene Spezialfälle- auf unseren Hostingpaketen nicht erforderlich, da wir mit MySQL Datenbanken arbeiten. Die Extension dbal dient in erster Linie zur Nutzung anderer Datenbanksysteme (z.B. Oracle).

Lösung: ein Zugriff auf das Backend ist nicht möglich, daher muss in der Datei typo3conf/localconf.php beim Parameter "extList" der Eintrag dbal und adodb manuell entfernt werden. Anschließend müssen noch die Dateien temp_CACHED... im Verzeichnis typo3conf gelöscht werden.

Übrigens...

In 98% aller Fälle in denen es zunächst heißt "ich habe gar nichts geändert" stellt es sich später heraus, dass sehr wohl Modifikationen durchgeführt wurden. TYPO3 protokolliert das übrigens sehr detailliert im System-Logbuch...