TYPO3-Version prüfen, Composer-Modus & Site-Root - 2026 Leitfaden

TYPO3-Version prüfen, Composer-Modus & Site-Root - 2026 Leitfaden

Um Ihre TYPO3 Version zu prüfen, melden Sie sich im Backend an und überprüfen Sie die dort angezeigte Versionsnummer oder führen Sie im Projektverzeichnis den Befehl ./vendor/bin/typo3 --version aus. Für TYPO3 v13 und v14 ist der empfohlene PHP-Ansatz die Klasse Typo3Version über GeneralUtility::makeInstance(Typo3Version::class).

Dieser Leitfaden erläutert die praktischen Methoden, um die TYPO3-Version zu prüfen, den Composer-Modus zu bestätigen und den TYPO3-Site-Root in modernen TYPO3-Projekten zu finden. Er wurde für TYPO3 v13.4 LTS und TYPO3 v14.3 LTS aktualisiert und enthält Hinweise für ältere Installationen mit v12, v11 und früheren Versionen.

TYPO3 v14.3.0 wurde am 21. April 2026 als erste LTS-Version von TYPO3 v14 veröffentlicht, und auf der TYPO3-Download-Seite wird TYPO3 14 LTS derzeit als empfohlene Version für neue Projekte aufgeführt.

Schnellreferenz: Welche Methode sollte ich verwenden?

Verwenden Sie die Methode, die Ihrem Zugriffslevel entspricht. Backend-Zugriff ist am schnellsten für Administratoren, CLI ist am besten für Entwickler, PHP-Code ist am besten innerhalb von extensions, und Composer-Dateien sind nützlich für Repository- oder Serveraudits.

Wenn Sie nur die öffentliche URL haben, verwenden Sie ein Fingerprinting-Tool für eine Schätzung der Hauptversion.

MethodeBackend-Zugriff erforderlich?Funktioniert mit v13/v14?AusgabetypAm besten für
TYPO3-BackendJaJaSichtbare Version im BackendAdmins, Redakteure, Wartungspersonal
CLI-BefehlNeinJaExakte installierte VersionEntwickler mit SSH-, DDEV- oder Docker-Zugriff
PHP Typo3Version KlasseNeinJaExakte Version, Hauptversion, BranchExtension entwickler
composer.json / composer.lockNeinJaInstallierte Paketbeschränkungen oder gesperrte PaketversionServeraudits, Repository-Überprüfungen
t3versions.comNeinTeilweise, Schätzung der HauptversionÖffentliches FingerprintergebnisClient-Site-Überprüfungen mit nur einer URL

Der schnellste Weg für die meisten Entwickler ist CLI:

 

./vendor/bin/typo3 --version

 

In DDEV:

 

ddev exec ./vendor/bin/typo3 --version

 

In Docker:

 

docker exec -it my_php_container ./vendor/bin/typo3 --version

TYPO3 Versionsunterstützungsstatus im Jahr 2026 - Was Sie zuerst wissen müssen

Nachdem Sie die TYPO3-Version überprüft haben, bestätigen Sie, ob diese Version noch kostenlose Sicherheitsupdates erhält.

Im Jahr 2026 ist TYPO3 v14 LTS die empfohlene Version für neue Projekte, TYPO3 v13 LTS bleibt für bestehende Websites unterstützt, und TYPO3 v12.4 LTS hat nach dem Ende des kostenlosen Supports am 30. April 2026 den Status "nur ELTS" erreicht.

TYPO3-VersionStatus 2026Kostenloser Support bisELTS bisEmpfohlene Aktion
TYPO3 v14.3 LTSAktive Flaggschiff-LTS30. Juni 202930. Juni 2032Empfohlen für neue Projekte
TYPO3 v13.4 LTSAktive LTS31. Dezember 202731. Dezember 2030Sicher für bestehende Projekte
TYPO3 v12.4 LTSEOL / nur ELTS30. April 202630. April 2030Upgrade planen oder ELTS kaufen
TYPO3 v11.5 LTSNur ELTS31. Oktober 202431. Oktober 2028Upgrade dringend empfohlen
TYPO3 v10.4 LTSNur ELTS30. April 202330. April 2027Upgrade dringend erforderlich

Die offizielle TYPO3-Downloadseite listet TYPO3 14 LTS mit kostenlosem Support bis zum 30. Juni 2029 und ELTS bis zum 30. Juni 2032 auf. Sie listet auch TYPO3 13 LTS mit kostenlosem Support bis zum 31. Dezember 2027, TYPO3 12 ELTS mit kostenlosem Support, der am 30. April 2026 endete, TYPO3 11 ELTS mit kostenlosem Support, der am 31. Oktober 2024 endete, und TYPO3 10 ELTS mit kostenlosem Support, der am 30. April 2023 endete.

Was ELTS bedeutet und wann es verwendet wird

ELTS bedeutet Extended Long Term Support. Es handelt sich um bezahlten Anbietersupport für abgelaufene TYPO3 LTS-Versionen. ELTS kann nützlich sein, wenn eine geschäftskritische Website nicht sofort aktualisiert werden kann, sollte jedoch in der Regel als temporäre Brücke und nicht als langfristige Upgrade-Strategie betrachtet werden.

Warnung 2026: TYPO3 v12 hat das End-of-Life erreicht

TYPO3 v12.4 LTS hat am 30. April 2026 das Ende des kostenlosen Community-Supports erreicht. Wenn Ihre Website noch auf v12 läuft, sollten Sie entweder zu ELTS wechseln oder ein Upgrade auf v13 oder v14 planen. Dies ist wichtig, da nach diesem Datum keine kostenlosen Sicherheitsupdates mehr für v12 verfügbar sind.

Warum es wichtig ist, Ihre TYPO3-Version zu überprüfen

Eine TYPO3-Version bezieht sich auf die spezifische Versionsnummer des TYPO3 CMS, das Sie verwenden. Jede Version kommt mit ihrem eigenen Satz an Funktionen, Leistungsverbesserungen, Sicherheitsupdates und Kompatibilitätsanforderungen.

TYPO3 verwendet ein Versionsformat wie v12 LTS oder v13.1, wobei:

  • Die Zahl die Haupt- oder Nebenveröffentlichung angibt
  • LTS für Long-Term Support steht, der erweiterte Updates für bis zu 3 Jahre bietet

Ihre TYPO3-Version beeinflusst Sicherheitsupdates, PHP-Kompatibilität, Extension-Kompatibilität, Upgrade-Planung und Entwickler-Tools. 

Im Jahr 2026 ist die Versionsüberprüfung besonders wichtig, da TYPO3 v14 LTS nun die Flaggschiff-Version ist, TYPO3 v13 weiterhin aktiv unterstützt wird und TYPO3 v12 in den ELTS-Status übergegangen ist.

Eine TYPO3-Versionsnummer folgt normalerweise diesem Muster:

13.4.30

Hier:

13 = Hauptversion
4 = Neben- / LTS-Zweig
30 = Patch-Version

 

Für Audits ist die Patch-Version wichtig, da Sicherheits- und Wartungsreleases als Patch-Updates geliefert werden. Für die Upgrade-Planung sind die Haupt- und LTS-Zweige am wichtigsten.

Methode 1: TYPO3 Backend - Am schnellsten für Admins

Wenn Sie Zugriff auf das Backend haben, ist das TYPO3 Backend in der Regel der schnellste Weg, um die TYPO3-Version zu überprüfen. Melden Sie sich bei /typo3/ an und überprüfen Sie die Backend-Oberfläche, den Systeminformationsbereich oder die Systemberichte.

Diese Methode ist am besten für Admins, Redakteure und Wartungspersonal geeignet, die keinen CLI- oder Serverzugriff benötigen.

Melden Sie sich bei Ihrem TYPO3 Backend an:

 

https: //example.com/typo3/

 

Überprüfen Sie dann je nach TYPO3-Version und Backend-Konfiguration den Backend-Footer, den Systeminformationsbereich oder die Systemberichte.

In TYPO3 v14 unterscheidet sich die Backend-Oberfläche visuell von v12 und v13, da die v14 LTS-Version eine modernisierte Backend-UI enthält. Die Ankündigung der TYPO3 v14 LTS-Version hebt ein neu gestaltetes Backend, ein Standard-Frontend-Theme, QR-Code- und Kurz-URL-Module sowie das Kontext-Panel hervor.

Admin-Panel in v13 und v14.3 LTS

In TYPO3 v13 sehen Backend-Versionen für die meisten bestehenden TYPO3-Administratoren vertraut aus. In TYPO3 v14.3 LTS hat sich das Backend erheblich verändert, daher sollten Sie sich nicht nur auf ältere Screenshots verlassen. Wenn Sie diesen Artikel zur Veröffentlichung vorbereiten, fügen Sie frische v14.3 Backend-Screenshots in der Nähe dieses Abschnitts hinzu.

Methode 2: So überprüfen Sie die TYPO3-Version ohne Backend-Zugriff

So überprüfen Sie die TYPO3-Version ohne Backend-Zugriff

Sie können die TYPO3-Version ohne Backend-Zugriff überprüfen, indem Sie Composer-Dateien überprüfen, serverseitige Paket-Metadaten prüfen, CLI-Zugriff verwenden oder die öffentliche Website mit einem Fingerprinting-Tool scannen. 

Dies ist nützlich bei Kundenprüfungen, Übernahmeprojekten, Sicherheitsüberprüfungen und Situationen, in denen Backend-Anmeldedaten fehlen oder nicht verfügbar sind. 

Verwendung von t3versions.com

t3versions.com ist nützlich, wenn Sie nur die URL der öffentlichen Website haben. Das Tool versucht, die TYPO3-Hauptversion für eine oder mehrere URLs zu bestimmen. In den FAQ steht, dass es die Frontend-Ausgabe, den Backend-Login, falls verfügbar, und Dateifingerabdrücke überprüft, die einzigartig für TYPO3-Hauptversionen sind.

Verwenden Sie es als Schätzung, nicht als einzige Wahrheitsquelle. Öffentliches Fingerprinting kann durch Sicherheitseinstellungen, benutzerdefinierte Bereitstellungen, Reverse-Proxies, CDN-Regeln oder gehärteten Dateizugriff blockiert werden.

Lesen von composer.json und composer.lock

In Composer-basierten TYPO3-Installationen überprüfen Sie das Projektverzeichnis auf:

 

composer.json
composer.lock
vendor/
public/
config/
var/

 

Öffnen Sie composer.json und suchen Sie nach TYPO3-Paketbeschränkungen:

 

{
"require": {
"typo3/cms-core": "^14.3"
}
}
Für die genau installierte Version, überprüfen Sie composer.lock:
{
"name": "typo3/cms-core",
"version": "14.3.2"
}

 

composer.json gibt Ihnen den erlaubten Versionsbereich an. composer.lock gibt Ihnen die installierte Paketversion nach der Abhängigkeitsauflösung an.

Lesen von Vendor-Paketdateien

Wenn Sie Serverzugriff haben, aber das Backend nicht nutzen können, überprüfen Sie das TYPO3-Kern-Paket unter:

vendor/typo3/cms-core/

In einer Composer-Installation sind die installierten Paket-Metadaten und die Sperrdatei in der Regel zuverlässiger als Vermutungen anhand von Frontend-Assets.

Sicherheitshinweis

Geben Sie keine genauen TYPO3-Patch-Versionen öffentlich bekannt, es sei denn, es gibt einen klaren Grund. Eine öffentliche Schätzung der Hauptversion kann bei Audits helfen, aber die Offenlegung des genauen Patch-Levels kann Angreifern unnötige Details über veraltete Installationen liefern.

Methode 3: PHP-Code - Typo3Version-Klasse für v11+

Verwenden Sie die Typo3Version-Klasse, um die TYPO3-Version programmatisch in TYPO3 v11 und neuer zu erkennen. Sie gibt die genaue Version, Hauptversion und den Zweig zurück, ohne sich auf veraltete globale Konstanten zu verlassen. 

Dies ist die empfohlene Methode für extensions, Site-Pakete, Kompatibilitätsprüfungen und bedingte Codepfade in v13 und v14.

 

<?php

use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$typo3Version = GeneralUtility::makeInstance(Typo3Version::class);

echo $typo3Version->getVersion(); // Example: 14.3.2
echo $typo3Version->getMajorVersion(); // Example: 14
echo $typo3Version->getBranch(); // Example: 14.3

 

Verwenden Sie dies, wenn Sie bedingte Codepfade benötigen:

 

<?php

use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$typo3Version = GeneralUtility::makeInstance(Typo3Version::class);

if ($typo3Version->getMajorVersion() >= 14) {
// TYPO3 v14+ logic
}

 

TYPO3 hat die globalen Konstanten TYPO3_version und TYPO3_branch veraltet und \TYPO3\CMS\Core\Information\Typo3Version als Ersatz-API für dieselben Informationen eingeführt.

Methode 4: PHP-Konstanten - Nur für Legacy, Veraltet

Verwenden Sie TYPO3_version und TYPO3_branch nur für die Kompatibilität mit älteren Versionen. Diese Konstanten sind veraltet, und moderner TYPO3-Code sollte stattdessen die Typo3Version-Klasse verwenden.

Behalten Sie auf Konstanten basierende Überprüfungen nur dort bei, wo alte extensions oder Legacy-Installationen sie noch benötigen, insbesondere in älteren v8-, v9- oder Übergangsprojekten.

 

<?php

echo TYPO3_version;
echo TYPO3_branch;

 

Für Legacy-Überprüfungen:

 

<?php

if (version_compare(TYPO3_version, '12.4.0', '>=')) {
// TYPO3 v12.4+ logic
}

 

In moderner TYPO3-Entwicklung verwenden Sie stattdessen Typo3Version:

 

<?php

$version = GeneralUtility::makeInstance(Typo3Version::class)->getVersion();

 

Die Konstanten wurden in TYPO3 v10.3 als veraltet markiert, und das TYPO3-Änderungsprotokoll weist Entwickler auf die Typo3Version-Klasse hin.

Methode 5: CLI - TYPO3 Console, DDEV und Docker

CLI ist die zuverlässigste Methode, wenn Sie Zugriff auf das Projekt, SSH, DDEV oder Docker haben. Führen Sie ./vendor/bin/typo3 --version vom TYPO3-Projektstamm aus oder führen Sie denselben Befehl im aktiven DDEV- oder Docker-Container aus.

Dies bestätigt die Version aus der realen Laufzeitumgebung. 

Standard Composer Installation

Vom TYPO3-Projektstamm aus:

 

./vendor/bin/typo3 --version

 

Wenn die Binärdatei nicht ausführbar ist:

 

php vendor/bin/typo3 --version

 

Die offizielle Konsolenbefehlsdokumentation von TYPO3 erklärt, dass der Einstiegspunkt vendor/bin/typo3 für Composer-basierte Installationen verwendet wird und dass Befehle möglicherweise in der richtigen lokalen, Docker- oder Serverumgebung ausgeführt werden müssen.

DDEV Lokale Umgebung

Für DDEV-Projekte führen Sie aus:

 

ddev exec ./vendor/bin/typo3 --version

 

Sie können auch versuchen:

 

ddev typo3 --version

 

Die TYPO3-Einführungsdokumentation verwendet DDEV und Composer für die lokale TYPO3-Installation und zeigt DDEV-basierte TYPO3-CLI-Befehle während der Einrichtung.

Docker- / Container-Umgebungen

Wenn TYPO3 in einem Docker-PHP-Container läuft, führen Sie den Befehl innerhalb des Containers aus:

 

docker exec -it my_php_container bash
cd /var/www/html
./vendor/bin/typo3 --version

 

Oder führen Sie es direkt aus:

 

docker exec -it my_php_container ./vendor/bin/typo3 --version

 

Die CLI-Dokumentation von TYPO3 weist darauf hin, dass bei direkter Verwendung von Docker TYPO3-Befehle normalerweise innerhalb des PHP/TYPO3-Containers ausgeführt werden müssen.

Legacy-CLI für TYPO3 v8 und früher

Für ältere Installationen im Classic-Modus kann der CLI-Pfad so aussehen:

 

typo3/sysext/core/bin/typo3 --version

 

Verwenden Sie dies nur für Altsysteme. Für TYPO3 v13 und v14 sind Composer-first-Projektstrukturen zu erwarten.

Wie man den Composer-Modus in TYPO3 erkennt

Verwenden Sie Environment::isComposerMode(), um den Composer-Modus in TYPO3 v9 und neuer zu erkennen. In Composer-basierten Projekten gibt es true zurück; in Classic-Mode-Installationen gibt es false zurück. Sie können auch nach composer.json, composer.lock und vendor/ suchen, aber die PHP-API ist innerhalb von TYPO3 zuverlässiger.

Dateisystemprüfung

Ein Composer-basiertes TYPO3-Projekt enthält normalerweise:

 

composer.json
composer.lock
vendor/
public/
config/
var/

 

Eine klassische Classic-Mode-Installation kann Strukturen wie die folgenden enthalten:

typo3/

typo3conf/

typo3temp/

fileadmin/

Diese Dateiprüfung ist bei Audits nützlich, aber PHP-Code ist innerhalb von TYPO3 zuverlässiger.

PHP-Code v9+ - Environment::isComposerMode()

Verwenden Sie die TYPO3 Environment API:

 

<?php

use TYPO3\CMS\Core\Core\Environment;

if (Environment::isComposerMode()) {
echo 'Composer-Modus';
} else {
echo 'Klassischer Modus';
}

 

TYPO3 hat die Environment-Klasse mit Methoden wie Environment::isComposerMode(), Environment::getProjectPath() und Environment::getPublicPath() eingeführt. Das Changelog empfiehlt auch, die Environment-Klasse anstelle älterer Pfadkonstanten zu verwenden.

PHP-Code v8 - Bootstrap::usesComposerClassLoading()

Für alte TYPO3 v8 Projekte:

 

<?php

use TYPO3\CMS\Core\Core\Bootstrap;

if (Bootstrap::usesComposerClassLoading()) {
echo 'Composer mode';
}

 

Keep this only for legacy maintenance. It is not the preferred approach for current TYPO3 versions.

Warum Composer-Modus im Jahr 2026 wichtig ist

Der Composer-Modus ist wichtig, weil TYPO3 v14 noch stärker in Richtung Composer-first Extension-Metadaten und Abhängigkeitsverwaltung gegangen ist. Die TYPO3-Dokumentation besagt, dass ext_emconf.php veraltet ist und Versions-/Abhängigkeitsmetadaten nun in der composer.json einer extensions definiert werden sollten.

Migration von Classic zu Composer-Modus

Eine Migration von Classic zu Composer umfasst normalerweise:

  1. Sichern von Dateien und Datenbank.
  2. Erstellen eines auf Composer basierenden TYPO3-Projekts.
  3. Anfordern von TYPO3-Kernpaketen und Extensions über Composer.
  4. Verschieben von benutzerdefinierten Extensions in eine Composer-freundliche Paketstruktur.
  5. Migration von Konfiguration, öffentlichen Assets und umgebungsspezifischen Einstellungen.
  6. Testen von Backend, Frontend, Scheduler, CLI und Deployment-Workflows.

Für TYPO3 v13- und v14-Projekte sollte Composer der Standard für neue Builds und ernsthafte langfristige Wartung sein.

Lokalisierung des TYPO3-Site-Roots

Verwenden Sie Environment::getPublicPath() und Environment::getProjectPath(), um TYPO3-Pfade in modernen Installationen zu lokalisieren.

In auf Composer basierenden Projekten ist das öffentliche Web-Root oft public/, während das Projekt-Root composer.json, vendor/, config/ und var/ enthält. Diese Unterscheidung ist wichtig für Deployments, Container und Extension-Code.

Environment::getPublicPath() und getProjectPath() für v9+

Verwenden Sie die Environment-API:

 

<?php

use TYPO3\CMS\Core\Core\Environment;

$publicPath = Environment::getPublicPath();
$projectPath = Environment::getProjectPath();

echo $publicPath;
echo $projectPath;

 

Typische Composer-Struktur:

 

/project-root
composer.json
composer.lock
vendor/
config/
var/
public/
index.php
typo3/

 

Environment::getProjectPath() gibt den Projektpfad auf Root-Ebene zurück, während Environment::getPublicPath() den öffentlich zugänglichen Ordner zurückgibt, der zuvor als PATH_site bekannt war.

PATH_site für v8 und früher

Ältere TYPO3-Installationen können verwenden:

 

<?php

echo PATH_site;

Verwenden Sie dies nur, wenn eine Kompatibilität mit älteren Versionen erforderlich ist. In modernem Code bevorzugen Sie Environment::getPublicPath().

Vollständige versionsübergreifende Implementierung

 

<?php

if (class_exists(\TYPO3\CMS\Core\Core\Environment::class)) {
$publicPath = \TYPO3\CMS\Core\Core\Environment::getPublicPath();
$projectPath = \TYPO3\CMS\Core\Core\Environment::getProjectPath();
} else {
$publicPath = defined('PATH_site') ? PATH_site : null;
$projectPath = $publicPath;
}

echo 'Öffentlicher Pfad: ' . $publicPath . PHP_EOL;
echo 'Projektpfad: ' . $projectPath . PHP_EOL;

 

Site-Root in Docker / Containerisierten TYPO3-Bereitstellungen

In Docker kann der Projektpfad innerhalb des Containers vom Hostpfad abweichen. Zum Beispiel kann das Hostprojekt sich befinden in:

 

~/Projects/my-typo3-site

 

Aber innerhalb des Containers kann es gemountet sein als:

 

/var/www/html

 

Führen Sie Pfadüberprüfungen innerhalb des PHP-Containers durch, wenn Sie den Composer-Modus, CLI-Ausgaben oder Laufzeitpfade debuggen.

TYPO3 v14.3 LTS - Entwicklerhandbuch

TYPO3 v14.3 LTS ist die aktuelle Flaggschiff-Linie für neue TYPO3-Projekte im Jahr 2026. Es unterstützt PHP 8.2 bis PHP 8.5, verwendet Composer-first-extension metadaten, modernisiert das Backend und erhält Sicherheitssupport bis zum 30. Juni 2029. 

Neue Projekte sollten normalerweise auf v14 abzielen, es sei denn, Projektbeschränkungen erfordern v13.

TYPO3 14 LTS wird als empfohlen für neue Projekte aufgeführt, unterstützt PHP 8.2, 8.3, 8.4 und 8.5 und erhält kostenlosen Support bis zum 30. Juni 2029.

Versionsprüfung mit der Typo3Version-Klasse

 

<?php

use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$version = GeneralUtility::makeInstance(Typo3Version::class);

if ($version->getMajorVersion() === 14) {
echo 'TYPO3 v14 project';
}

 

Was ist neu in v14.3 LTS für Entwickler?

TYPO3 v14 beinhaltet bedeutende Änderungen für Entwickler, wie Fluid 5.0, Integration der Symfony-Übersetzungskomponente, Systemressourcen-API für Dateizugriff und öffentliche URI-Generierung, XLIFF 2.x Übersetzungsunterstützung, Standardthema Camino und Extbase-bezogene Verbesserungen einschließlich Validierungsattributen und Ratenbegrenzung für Extbase-Aktionen.

Für Versions und Umgebungsprüfungen ist die wichtigste Erkenntnis einfach: Verwenden Sie moderne APIs, vermeiden Sie veraltete Konstanten und gehen Sie von Composer-first-Projektstrukturen aus.

ext_emconf.php Veraltet - Ersetzt durch composer.json

Extension-Entwickler sollten sich in TYPO3 v14 nicht auf ext_emconf.php als primäre Metadatenquelle verlassen. Die offizielle Dokumentation besagt, dass ext_emconf.php veraltet ist und dass Versions- und Abhängigkeitsmetadaten in composer.json definiert werden sollten.

Beispiel für eine Extension-Anforderung:

 

{
"require": {
"typo3/cms-core": "^13.4 || ^14.3"
},
"extra": {
"typo3/cms": {
"extension-key": "my_extension"
}
}
}

 

PHP 8.2–8.5 Unterstützungszeitraum

TYPO3 14 LTS unterstützt PHP 8.2, 8.3, 8.4 und 8.5. Dies ist wichtig bei der Planung von Hosting, CI-Pipelines, Docker-Images und zukünftigen Upgrades.

Unterstützungszeitplan

TYPO3 v14 LTS erhält kostenlose Sicherheitsunterstützung bis zum 30. Juni 2029 und ELTS bis zum 30. Juni 2032. Für neue Projekte im Jahr 2026 macht dies v14 zur stärksten langfristigen Option.

Umgebungs-API als Standardansatz

Verwenden Sie die Umgebungs-API für Projektpfade, öffentliche Pfade, Anwendungskontext und Composer-Modus-Überprüfungen:

<?php

use TYPO3\CMS\Core\Core\Environment;

Environment::isComposerMode();
Environment::getProjectPath();
Environment::getPublicPath();
Environment::getContext();

 

TYPO3 v13.4 LTS - Noch unterstützt, erhält weiterhin Sicherheitsupdates

TYPO3 v13.4 LTS bleibt im Jahr 2026 eine sichere Produktionswahl für bestehende Projekte. Es erhält weiterhin Sicherheitsupdates bis zum 31. Dezember 2027, was es für Websites geeignet macht, die stabil auf v13 sind, aber noch nicht bereit für v14. 

Neue Builds sollten jedoch in der Regel zuerst TYPO3 v14 LTS evaluieren. Verwenden Sie dieselben modernen Versionsprüfungs-APIs:

 

<?php

use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$typo3Version = GeneralUtility::makeInstance(Typo3Version::class);

if ($typo3Version->getBranch() === '13.4') {
echo 'TYPO3 v13.4 LTS';
}

 

TYPO3 13 LTS ist für bestehende Projekte gelistet und erhält kostenlosen Support bis zum 31. Dezember 2027.

TYPO3 v12.4 LTS - EOL 30. April 2026

TYPO3 v12.4 LTS wird nach dem 30. April 2026 nicht mehr kostenlos unterstützt. Websites, die noch v12 verwenden, sollten entweder ELTS-Abdeckung erwerben oder ein Upgrade auf v13 oder v14 planen. Die ELTS-Seite von TYPO3 listet Support-Optionen bis zum 30. April 2030 auf, wobei das vierte Jahr für TYPO3-Partner reserviert ist.

Wenn Sie ein v12-Projekt pflegen, halten Sie bestehende Codebeispiele funktionsfähig, aber fügen Sie der technischen Dokumentation Dringlichkeit für ein Upgrade hinzu:

 

<?php

use TYPO3\CMS\Core\Core\Environment;

if (method_exists(Environment::class, 'isRunningInContainer')) {
$runningInContainer = Environment::isRunningInContainer();
}

 

Sie können auch den Anwendungskontext überprüfen:

 

<?php

use TYPO3\CMS\Core\Core\Environment;

$context = Environment::getContext();
echo (string)$context;

 

Für v12-Websites ist der nächste praktische Schritt nicht nur die Überprüfung der TYPO3-Version, sondern auch die Entscheidung, ob die Website vorübergehend zu ELTS wechselt oder auf v13/v14 aktualisiert wird.

TYPO3 v11 - Nur ELTS

TYPO3 v11 ist im Jahr 2026 eine Legacy-Version und sollte nur als ELTS behandelt werden. Halten Sie die v11-Anleitung nur für Wartung, Audits oder geplante Upgrade-Planung bereit.

Wenn eine Website noch v11 verwendet, überprüfen Sie die PHP-Kompatibilität, den Composer-Status, Extensions, Templates und Bereitstellungs-Workflows, bevor Sie einen kontrollierten Upgrade-Pfad planen.

Für v11 verwenden Sie Typo3Version, wo möglich:

 

<?php

use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$version = GeneralUtility::makeInstance(Typo3Version::class);

echo $version->getVersion();

 

Wenn eine Website im Jahr 2026 noch TYPO3 v11 verwendet, planen Sie ein gestaffeltes Upgrade. Ein direkter Sprung zu v14 kann Extension-Audits, PHP-Upgrades, Template-Prüfungen, Composer-Migration und Bereitstellungsänderungen erfordern.

Überprüfung von Extbase-Klassen in TYPO3

Überprüfen Sie Extbase-Klassen mit class_exists(), interface_exists(), Dependency Injection oder Reflection, je nach Anwendungsfall.

In TYPO3 v14 sollten Extbase-Kompatibilitätsprüfungen auch neuere Framework-Funktionen berücksichtigen, einschließlich Symfony-basierter Validatoren und der Sicherheitsattribute #[Authorize] und #[RateLimit].

Diese Funktionen beeinflussen, wie moderne Extbase-Controller, Aktionen und Validierungslogik strukturiert sind, daher sollten ältere Reflection- oder Klassen-Existenzprüfungen mit einer API-Level-Kompatibilitätsüberprüfung kombiniert werden.

Methode 1: class_exists()

 

<?php

if (class_exists(\Vendor\Extension\Domain\Model\Example::class)) {
echo 'Klasse existiert';
}

 

Methode 2: interface_exists()

 

<?php

if (interface_exists(\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::class)) {
echo 'Extbase-Domain-Objekt-Interface verfügbar';
}

 

Methode 3: Reflection

 

<?php

$reflection = new \ReflectionClass(\Vendor\Extension\Domain\Model\Example::class);

echo $reflection->getName();

 

In TYPO3 v14 erhält Extbase zusätzliche moderne Funktionen wie Validierungsattribute und Unterstützung für Ratenbegrenzung bei Extbase-Aktionen, daher sollten alte Kompatibilitätsprüfungen überprüft werden, bevor die v14-Bereitschaft angenommen wird.

Beste Praktiken und Häufige Fallstricke

Der sicherste Ansatz im Jahr 2026 ist die Verwendung moderner TYPO3-APIs, das Vermeiden veralteter Konstanten, das korrekte Überprüfen des Composer-Modus und das Ausführen von CLI-Befehlen innerhalb der tatsächlichen Laufzeitumgebung. 

Behandeln Sie v12 nicht als kostenlos unterstützt, verwechseln Sie nicht den öffentlichen Pfad mit dem Projektpfad und kodieren Sie die Kompatibilität nicht nur um ältere TYPO3-Versionen herum fest.

Beste Praktiken

  • Starten Sie neue Projekte auf TYPO3 v14 LTS, es sei denn, es gibt eine klare Projektbeschränkung. TYPO3 listet v14 LTS als empfohlen für neue Projekte und v13 LTS als geeignet für bestehende Projekte auf.
  • Verwenden Sie Typo3Version für programmgesteuerte Versionsprüfungen:
  • GeneralUtility::makeInstance(Typo3Version::class);
  • Verwenden Sie Environment für Composer-Modus und Pfaderkennung:
  • Environment::isComposerMode();
  • Environment::getProjectPath();
  • Environment::getPublicPath();
  • Überprüfen Sie sowohl composer.json als auch composer.lock. Die erste gibt Ihnen die erlaubten Einschränkungen an; die zweite gibt Ihnen die genau installierte Paketversion an.
  • Für DDEV oder Docker führen Sie CLI-Überprüfungen immer in derselben Umgebung aus, die TYPO3 ausführt.

Häufige Fallstricke

  • Verwenden Sie nicht TYPO3_version oder TYPO3_branch in neuem v13/v14-Code. Diese Konstanten sind veraltet; verwenden Sie stattdessen Typo3Version.
  • Gehen Sie nicht davon aus, dass PATH_site im Composer-Modus das Projekt-Root bedeutet. In modernen Projekten sind der öffentliche Pfad und der Projektpfad unterschiedlich.
  • Behandeln Sie TYPO3 v12 im Jahr 2026 nicht als derzeit kostenlos unterstützte Version. Es ist nach dem 30. April 2026 nur noch ELTS.
  • Verlassen Sie sich nicht nur auf Frontend-Fingerabdrücke, wenn Sie genaue Patch-Level-Informationen benötigen. Verwenden Sie Composer, CLI oder Backend/Systemdaten für genaue Ergebnisse.
  • Führen Sie keine fest programmierten Kompatibilitätsprüfungen durch, die sich ausschließlich auf die Versionen v11 bis v13 beziehen. Berücksichtigen Sie bei neuem Code im Jahr 2026 die Kompatibilitätsplanung für v14.3 LTS.

Fazit

Die richtige Methode zur Überprüfung der TYPO3-Version hängt vom verfügbaren Zugriff ab. Nach der Prüfung sollten Sie auch kontrollieren, ob die AI Foundation für TYPO3 sowie verbundene Anbieter, Tools und Workflows mit der eingesetzten oder geplanten TYPO3-Version kompatibel sind. Der Backend-Zugang ist für Administratoren am schnellsten, CLI ist am besten für Entwickler geeignet, Composer-Dateien helfen bei Server- oder Repository-Audits, und Typo3Version ist die bevorzugte PHP-API für Extension code.

Nachdem Sie die TYPO3-Version überprüft haben, sollten Sie entsprechend handeln. TYPO3 v14.3 LTS ist das beste Ziel für neue Projekte, TYPO3 v13.4 LTS ist immer noch sicher für bestehende unterstützte Seiten, und TYPO3 v12.4 LTS sollte jetzt nur noch als ELTS behandelt werden. 

Für eine Legacy-Site besteht der nächste Schritt nicht nur darin, die Version zu identifizieren, sondern auch darin, den Upgrade-Pfad zu planen, den Composer-Modus zu überprüfen, Extensions zu überprüfen und das tatsächliche Projekt-Root zu bestätigen, bevor Änderungen vorgenommen werden.

Ab dem 8. Juni 2026 ist TYPO3 14 LTS die aktuelle Flaggschiff-LTS-Linie für neue Projekte. Die aktuelle Version auf der offiziellen Download-Seite ist TYPO3 14.3.2, veröffentlicht am 26. Mai 2026.

Verwenden Sie composer.lock, composer.json, serverseitige vendor/-Dateien, CLI-Zugriff oder ein öffentliches Fingerprinting-Tool wie t3versions.com. Für genaue Patch-Level-Informationen sind Composer oder CLI zuverlässiger als öffentliches Frontend-Fingerprinting.

TYPO3 v12 wird nach dem 30. April 2026 nicht mehr kostenlos unterstützt. Es ist bis zum 30. April 2030 über ELTS verfügbar. Wenn Ihre Website v12 verwendet, planen Sie ein Upgrade auf v13 oder v14 oder arrangieren Sie ELTS-Abdeckung.

TYPO3 14 LTS unterstützt PHP 8.2, 8.3, 8.4 und 8.5. Für neue Projekte verwenden Sie eine unterstützte PHP-Version, die auch zu Ihren Hosting-, CI-, Docker- und Erweiterungsanforderungen passt.

Verwenden Sie Environment::isComposerMode() in PHP oder überprüfen Sie composer.json, composer.lock und vendor/ im Projektstammverzeichnis. In modernen TYPO3-Projekten ist der Composer-Modus die erwartete Einrichtung für professionelle Entwicklung und Bereitstellung.

LTS ist die reguläre Long Term Support-Phase mit kostenlosen Community-Sicherheitsupdates. ELTS ist der kostenpflichtige Extended Long Term Support für abgelaufene LTS-Versionen. ELTS ist nützlich, wenn ein sofortiges Upgrade nicht möglich ist, sollte jedoch nicht die langfristige Upgrade-Planung ersetzen.

Führen Sie den TYPO3-CLI-Befehl in DDEV aus:

ddev exec ./vendor/bin/typo3 --version

Wenn Ihre DDEV-Einrichtung die Abkürzung unterstützt, könnte dies auch funktionieren:

ddev typo3 --version

Die offizielle TYPO3-Installationsanleitung verwendet DDEV und Composer für die lokale TYPO3 v14-Einrichtung.

Use the Typo3Version class:

$version = GeneralUtility::makeInstance(Typo3Version::class);

echo $version->getVersion();

This is the preferred programmatic method for TYPO3 v11 and newer.

TYPO3_version and TYPO3_branch were deprecated. Use \TYPO3\CMS\Core\Information\Typo3Version instead. This avoids relying on runtime-generated global constants and keeps code aligned with modern TYPO3 APIs.

TYPO3 14 LTS receives free security updates until June 30, 2029 and ELTS until June 30, 2032. That makes it the best long-term target for new TYPO3 projects in 2026.

Your One-Stop Solutions for Custom TYPO3 Development

  • A Decade of TYPO3 Industry Experience
  • 350+ Successful TYPO3 Projects
  • 87% Repeat TYPO3 Customers
TYPO3 Service
wolfgang weber

Post a Comment

×