Zum Inhalt springen

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 '-1' (in älteren TYPO3 Versionen '2'). Zusätzlich muss noch im Parameter devIPmask 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 Installations-Tool können die Parameter auch direkt in der Datei localconf.php (für TYPO3 <= 4.7) bzw. LocalConfiguration.php (für TYPO3 >= 6.0) editiert bzw. eingefügt werden:

$TYPO3_CONF_VARS['SYS']['displayErrors'] = '-1'; 
$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 wird 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 mit der TYPO3 oder verwendeten PHP Version. 

Hier hilft nur die manuelle De-Installation der Erweiterung.

Ab TYPO3 CMS 8.7

Seit TYPO3 6.2 werden die Extensions in der Datei typo3conf/PackageStates.php verwaltet. Suchen Sie in dieser Datei nach dem Extension-Key und löschen Sie die 3 Zeilen der Extension. Danach löschen Sie die Extension aus dem Verzeichnis /ext und leeren anschließend noch das Verzeichnis typo3temp/.

Ab TYPO3 CMS 6.2

Ab TYPO3 6.2 werden die Extensions in der Datei typo3conf/PackageStates.php verwaltet. Suchen Sie hier nach dem Extension-Key und ändern hier den Status auf inactive. Danach leeren Sie das Verzeichnis typo3temp/Cache/.

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.

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.

Fehler im Extension Manager

Beim Aufruf des Extension Managers erscheint folgende Fehlermeldung (hier nur ein Ausschnitt):

Fatal error: Uncaught exception 'ReflectionException' with message 
'Property TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$listUtility does not exist' in...

Das Problem kann durch Löschen des System-Caches gelöst werden, hierzu müssen Sie in den Benutzer Einstellungen des jeweiligen Users im TSConfig die Zeile

options.clearCache.system = 1 

hinzufügen, dann steht Ihnen unter dem Cache-Blitz noch der System-Cache zur verfügung.

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';

TYPO3 7: kein Aufruf des Backends möglich

Sollte in TYPO3 7 der Aufruf des Backends nur unter Angabe der index.php (also: domain.de/typo3/index.php) möglich sein, hilft es, folgende Zeile in die Datei .htaccess im Projektverzeichnis einzufügen:

RewriteCond %{REQUEST_FILENAME} !-d

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.

Calculated absolute path to tslib directory does not exist.

Fehlermeldung:

Calculated absolute path to tslib directory does not exist. 

Something in the main file, folder and link structure is wrong and must be fixed! A typical document root contains a couple of symbolic links:
* A symlink "typo3_src" pointing to the TYPO3 CMS core.
* A symlink "typo" - the backend entry point - pointing to "typo3_src/typo3"
* A symlink "index.php" - the frontend entry point - points to "typo3_src/index.php"

Diese Fehlermeldung kann zum Beispiel beim Versuch erscheinen, ein Upgrade auf eine aktuellere TYPO3-Version durchzuführen.

Lösung: Stellen Sie in der Domainverwaltung des Kundenmenüs bei der betroffenen Domain die verwendete PHP-Edition auf "EXTENDED" um. Dadurch wird der bei der Einstellung "FASTCGI" aktive PHP OPCode-Cache deaktiviert. Nachdem die Arbeiten an der Website beendet sind, können Sie wieder auf "FASTCGI" umstellen, da hier die Performance der Website wesentlich besser ist.

Extension Manager wird nicht geladen - Warning: Uncaught TYPO3\PharStreamWrapper\Exception

Fehlermeldung:

TYPO3 Version > 8.7.16 wird der Extension Manager nicht mehr geladen und es wird folgende  Fehlermeldung (Auszug) im Backend ausgegeben:

Warning: Uncaught TYPO3\PharStreamWrapper\Exception: 
Executing phar:///dein_serverpfad/dein_projektverzeichnis/typo3conf/ext/typo3_console/Resources/Private/ExtensionArtifacts/../../../Libraries/symfony-process.phar/vendor/autoload.php is denied ... usw.
Fatal error: 
TYPO3\CMS\Core\Cache\Backend\SimpleFileBackend::{closure}(): 
Failed opening required 'phar:///dein_serverpfad/dein_projektverzeichnis/typo3conf/ext/typo3_console/Resources/Private/ExtensionArtifacts/../../../Libraries/symfony-process.phar/vendor/autoload.php' (include_path='.:/usr/local/lib/php') 

Das Ausführen *.phar Dateien ist aus Sicherheitsgründen nicht so ohne weiteres möglich und es kommt zur o.g. Fehlermeldung die je nach Extension unterschiedlich sein kann.

Lösung: In diesem Fall muss die Extension "typo3_console" aktualisiert werden. Hierzu die Zeilen in der PackageStates.php

'typo3_console' => [
            'packagePath' => 'typo3conf/ext/typo3console/',
],

entfernen, speichern, Cache leeren und über den Extension Manager aktualisieren.

 

Ü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...

Aktualisiert: 18.04.2023