Die korrekten Einstellungen für den TYPO3 Live-Betrieb
- Wie und wo können Einstellungen für meine TYPO3 Installation gesetzt werden?
- Was hat es mit dem TYPO3 Debug-Modus bzw. Produktiv-Modus auf sich?
- Welche Einstellungen benötige ich für die Entwicklung?
- Welche Einstellungen benötige ich zwingend für den Live-Betrieb?
- Ich will nicht lauter Einstellungen setzen. Wie geht das per 1-Klick?
- Was kann passieren, wenn ich die Einstellungen falsch setze?
- Tiefer ins Detail: Was machen die Konfigurationsparameter überhaupt?
Wie und wo können Einstellungen für meine TYPO3 Installation gesetzt werden?
Alle für TYPO3 relevanten Einstellungen können sowohl über die LocalConfiguration.php im Ordner typo3conf der Installation, als auch über das Install-Tool im Backend, gesetzt werden. Wir benutzen hier die etwas benutzerfreundlichere Variante über das Install-Tool und verwenden TYPO3 in der Version 11.5 LTS.
Nach einem Login in das TYPO3 Backend als System-Maintainer, sehen wir unter Admin-Tools > Settings den Punkt Configure Installation-Wide Options. Über den Button Configure Options öffnet sich darunter ein Modal:
Wir können hier die einzelnen Konfigurationsbereiche ausklappen, oder den Suchfilter nutzen. Nachdem alle Konfigurationen vorgenommen wurden, können die Einstellungen über Write Configuration gespeichert werden.
Was hat es mit dem TYPO3 Debug-Modus bzw. Produktiv-Modus auf sich?
Eure TYPO3 Installation kann in zwei unterschiedlichen Modi betrieben werden – zum einen im Debug-Modus und zum anderen im Produktiv-Modus. Einfach erklärt: der Debug-Modus hilft euch beim Entwickeln der Seite mit besonderen Ausgaben, der Produktiv-Modus ist beim Betrieb der Seite zwingend nötig und unterdrückt alle eventuell auftretenden Fehlermeldungen.
Welche Einstellungen benötige ich für die Entwicklung?
Für die Entwicklung empfiehlt TYPO3 folgende Standardeinstellungen:
'BE/debug' => true,
'FE/debug' => true,
'SYS/devIPmask' => '*',
'SYS/displayErrors' => '1',
'SYS/exceptionalErrors' => '12290'
Darüber hinaus sollten die Deprecation-Meldungen aktiviert werden. Damit erhalte ich im TYPO3-Log Informationen zu verwendeten Funktionen, die in zukünftigen TYPO3-Versionen nicht mehr vorhanden sein werden. Diese Einstellung kann ich allerdings nicht über die Configure Options-Oberfläche ändern. Ich kann sie zum Beispiel direkt in der LocalConfiguration.php eintragen:
'LOG' => [
'TYPO3' => [
'CMS' => [
'deprecations' => [
'writerConfiguration' => [
'notice' => [
'TYPO3\CMS\Core\Log\Writer\FileWriter' => [
'disabled' => false,
],
],
],
],
],
],
],
Welche Einstellungen benötige ich zwingend für den Live-Betrieb?
Für den Live-Betrieb werden folgende Konfigurationen gesetzt:
'BE/debug' => false,
'FE/debug' => false,
'SYS/devIPmask' => '',
'SYS/displayErrors' => '0',
'SYS/exceptionalErrors' => '4096'
Darüber hinaus werden hier keine Deprecation-Meldungen protokolliert, da diese im Live-Betrieb dazu führen können, dass die Log-Dateien sehr schnell sehr groß werden. Dies ist auch die Standardeinstellung:
'LOG' => [
'TYPO3' => [
'CMS' => [
'deprecations' => [
'writerConfiguration' => [
'notice' => [
'TYPO3\CMS\Core\Log\Writer\FileWriter' => [
'disabled' => true,
],
],
],
],
],
],
],
Ich will nicht lauter Einstellungen setzen. Wie geht das per 1-Klick?
Einfacher geht’s natürlich mit einem Klick. Und auch das kann TYPO3 über Admin-Tools → Settings. Hierfür wählt ihr unter Configuration Presets den Button Activate Presets aus. Dort findet ihr die Einstellungen Live und Debug, die ihr entsprechend für eure Seite im Betrieb oder während der Entwicklung nutzen könnt. Wählt das passende Preset aus und klickt auf Activate preset. TYPO3 setzt dann automatisch alle passenden Werte für eure Installation.
Was kann passieren, wenn ich die Einstellungen falsch setze?
Fehlerhafte Konfigurationen des Debug-Modus im Live-Betrieb der Seite stellen ein erhebliches Sicherheitsrisiko dar und verlangsamen diese außerdem. Überprüft daher unbedingt vor Liveschaltung eurer Seite, ob die Debug-Einstellungen deaktiviert oder wenigstens abgesichert sind, da euch andernfalls sensible Daten und Informationen verloren gehen können.
Tiefer ins Detail: Was machen die Konfigurationsparameter überhaupt?
Nun wisst ihr schon, welche Konfigurationen ihr für eure TYPO3 Modi verwenden solltet. Was genau diese bewirken, erkläre ich euch im Folgenden:
- BE/debug
Aktiviert ihr diese Option, so wird Loginrefresh deaktiviert und pageRenderer in den Debug-Modus versetzt. Außerdem wird der Feldname an die Bezeichnung der Felder angehängt. - FE/debug
Wenn aktiviert, wird die gesamte Parsetime der Seite als HTTP-Response-Header "X-TYPO3-Parsetime" hinzugefügt. - SYS/devIPmask
Definiert eine Liste von IP-Adressen, die es ermöglicht, die Entwicklungsausgabe anzuzeigen. Die Funktion debug() verwendet dies als Filter. Wird der Wert auf einen Leerwert gesetzt, wird alles abgelehnt. Die Einstellung auf „*“ erlaubt alle IP-Adressen.
Wir empfehlen hier entweder einen Leerstring oder höchstens die statische IP-Adresse des Entwicklers zu setzen, damit Fehlermeldungen den Webseitenbesuchern nicht angezeigt werden. - SYS/displayErrors
Konfiguriert, ob PHP-Fehler im Frontend angezeigt werden sollen (1) oder nicht (0). Alternativ kann auch die devIPMask berücksichtigt werden (-1). Weitere Details sind in der offiziellen Dokumentation beschrieben: https://docs.typo3.org/m/typo3/reference-coreapi/11.5/en-us/ApiOverview/ErrorAndExceptionHandling/Configuration/Index.html - SYS/enableDeprecationLog
Aktiviert das Logging von veralteten Methoden im Programmcode. Dies kann wahlweise in einer Datei (typo3conf-Ordner), in der Entwicklerkonsole oder auf der Debug-Konsole im Backend erfolgen. Der Standardwert ist hierbei file. - SYS/exceptionalErrors
Diese Einstellung gibt an, welche Fehlerarten vom exceptionHandler als Exceptions behandelt werden sollen. Die Standardeinstellung im Live-Betrieb ist 4096. Weitere Einstellungsmöglichkeiten sind auch hier in der offiziellen Dokumentation beschrieben: https://docs.typo3.org/m/typo3/reference-coreapi/11.5/en-us/ApiOverview/ErrorAndExceptionHandling/Configuration/Index.html
Solltet ihr noch weitere Fragen haben, meldet euch gerne bei unserem Kundenservice.
Kommentare
Jedoch habe ich systemLogLevel = 3 eingestellt, aber die Warning laufen weiter ein. Gibt es noch andere Optionen die die Ausgabe von WARNINGS auslösen?
Gruß
Torsten
kannst du uns bitte sagen, welche TYPO3 Version du nutzt? Dann können wir dir bestimmt weiterhelfen. :)
Liebe Grüße
Kristina
das Problem habe ich ebenfalls (TYPO3 9): systemLogLevel ist nachprüfbar auf 3 eingestellt, aber unter var/log werden weiterhin auch Warnings protokolliert.
Viele Grüße
Michael
config.contentObjectExceptionHandler = 0
Im Live System SYS/systemLogLevel = 2 zu setzen, bedeutet, dass auch Warnungen geschrieben werden, was über die Zeit zu unnötig großen Log Dateien führen kann.
das ist korrekt, aber du könntest die Warnings ja auch direkt beheben. :-)
Alternativ kannst du einfach auf einen höheren Wert stellen:
* 0 info
* 1 notice
* 2 warning
* 3 error
* 4 fatal error
Bei 3 werden dann nur Errors geloggt, bei 4 die fatalen.
Viele Grüße aus Espelkamp!
Kristina