Von Totara 13 bis 19 wurden viele Bibliotheken von Drittanbietern über das libraries/required Verzeichnis verteilt. Von Totara 20 wird dieses Verzeichnis nicht mehr automatisch einbezogen. Stattdessen müssen Bibliotheken von Drittanbietern vor der Installation/Aktualisierung der Website mit Composer installiert werden.
Totara lädt automatisch eine Kopie des Komponisten während der CLI-Installation oder des Upgrades herunter und führt die richtigen Befehle aus, um die fehlenden Bibliotheken von Drittanbietern zu beheben, die sich im vendor Verzeichnis befinden. Dies ist jedoch nicht für alle Szenarien ideal (z. B. wenn zum Zeitpunkt der Installation kein Zugriff auf das offene Internet besteht) und einige Websites möchten die Bibliotheken möglicherweise im Voraus herunterladen.
Hinweis: Das browserbasierte Installations-/Upgrade-Skript übernimmt nicht automatisch Bibliotheksinstallationen. Sie müssen diese manuell in der Befehlszeile im Voraus auflösen.
Totara Composer-Dateistruktur
Datei | Raumbeschreibung | Aktivieren |
|---|---|---|
| Haupt-Composer-Datei, die von Totara & Partnern zur Installation von Plugins und Bibliotheken verwendet wird. | Ja – Neue Plugins und Bibliotheken können hier hinzugefügt werden |
| Haupt-Composer-Sperrdatei, die die expliziten Versionen der installierten Bibliotheken definiert. | Ja |
| Totara Core definiert die Bibliotheken, von denen Totara abhängt. | Nein - nur während eines Release von Totara geändert. |
| Die expliziten Bibliotheken, die vom Totara-Kern verwendet werden. | Nein - nur während eines Release von Totara geändert. |
| Bibliotheken zur Durchführung von PHPUnit-Tests | Nicht empfohlen. |
| Bibliotheken zur Durchführung von PHPUnit-Tests | Nicht empfohlen. |
| Bibliotheken zur Durchführung von Behat-Tests | Nicht empfohlen. |
| Bibliotheken zur Durchführung von Behat-Tests | Nicht empfohlen. |
Wenn Sie Ihre eigenen Bibliotheken oder Plugins in Totara installieren möchten, führen Sie den Composer Bedarfsbefehl aus dem Stammverzeichnis aus und stellen Sie sicher, dass nur die JSON- und Sperrdateien des Root-Composers aktualisiert werden.
Standardverhalten: Totara installiert die Bibliotheksdateien automatisch
Damit dieser Schritt funktioniert, muss der Nutzer, der das Installationsskript ausführt, Schreibzugriff sowohl auf die aktuellen als auch auf die Anbieterverzeichnisse haben. Wenn Totara keinen Schreibzugriff hat, wird ein Fehler im Voraus gedruckt. Wenn Sie diesen Schritt ausführen lassen, empfehlen wir dringend, Ihrem Nutzer vorübergehend den Schreibzugriff auf die Stamm- und Anbieterverzeichnisse zu erlauben und anschließend den Schreibzugriff zu entfernen.
Standardmäßig lädt Totara eine Kopie von herunter composer.phar und installiert sie im Stammverzeichnis.
Definieren Ihrer eigenen Composer-Instanz
Um zu verhindern, dass Totara automatisch eine Composer-Instanz herunterlädt, können Sie stattdessen eine selbst konfigurieren und Totara den Ort in der TOTARA_COMPOSERKonstante mitteilen.
// Inside your config.php
define('TOTARA_COMPOSER', '/path/to/composer');Wenn diese Option definiert ist, überspringt Totara den Schritt, in dem der Composer direkt heruntergeladen wird, und geht direkt zur Bibliotheksinstallation über.
Optional: Manuelle Handhabung der Bibliotheksdateien
Sie möchten möglicherweise nicht, dass Totara den Composer herunterlädt oder den Installationsbefehl des Composers automatisch ausführt und sich lieber vorher selbst darum kümmert.
Wenn dies der Fall ist, stellen Sie sicher, dass Sie composer install --no-dev -o im Dirroot-Verzeichnis (nicht im Serververzeichnis) laufen, bevor Sie die Installations- oder Upgrade-Befehle von Totara ausführen.
Idealerweise sieht der Ablauf für Upgrades wie folgt aus:
Führen Sie die bisher üblichen dokumentierten Schritte aus.
Wartungsmodus aktivieren.
Sehen Sie sich den neuen Code an.
Führen Sie den
composer install --no-dev -oBefehl manuell aus.Fahren Sie mit den regulären Upgrade-Schritten fort.
Wenn es an der Zeit ist, den Installations- oder Upgradebefehl auszuführen, überreichen Sie das
--no-composerFlag, um Totara anzuweisen, diesen Schritt zu überspringen.
Für eine Installation würden Sie stattdessen Folgendes tun:
Sehen Sie sich den Code an.
Führen Sie den
composer install --no-dev -oBefehl manuell aus.Fahren Sie mit den regulären Installationsschritten fort, aber gehen Sie vorbei,
--no-composerwenn es Zeit ist, die Installation auszuführen.
Totara-Installation/-Upgrade daran hindern, Komponistenbefehle auszuführen
Wählen Sie das Beste für Ihre Situation. Wenn Sie eine dieser Optionen verwenden, müssen Sie den Installationsbefehl des Komponisten wie oben definiert ausführen, bevor Sie eine Installation oder ein Upgrade durchführen. Andernfalls werden die Ergebnisse nicht definiert.
Definieren Sie eine für PHP sichtbare Umgebungsvariable namens
TOTARA_SKIP_COMPOSEREine Konstante in Ihrer
config.phpDatei definierendefine('TOTARA_SKIP_COMPOSER', true);Leiten Sie das
--no-composerFlag an das Installations- oder Upgrade-Skript weiter.
Umgang mit Konflikten bei Upgrades
Wenn Sie Ihre eigenen Bibliotheken in das Stammverzeichnis installieren, werden die vendor Dateien composer.json, composer.lock und in Konflikt gesetzt. Die frühzeitige Handhabung ist entscheidend für ein sicheres Upgrade.
Notieren Sie sich Ihre Anpassungen – welche Bibliotheken/Plugins haben Sie installiert?
Alle Anpassungen rückgängig machen. Setzen Sie die
composer.jsonDateiencomposer.lockund auf das zurück, was Totara mit der neuen Version verteilt hat.Führen Sie den Standardbefehl zur Installation des Komponisten
--no-dev -oaus.Führen Sie nun die
composer require vendor/packageBefehle erneut aus, um Ihre Plugins wieder hinzuzufügen.
Hinweis: Sie müssen überprüfen, ob Ihre Anpassungen die neuere Version von Totara unterstützen. Bei großen Releases können die Anforderungen an Kernbibliotheken und Server steigen und Bibliotheken oder Plugins von Drittanbietern müssen möglicherweise aktualisiert werden.
Totara wird installiert, wenn Sie keinen direkten Internetzugang haben
Manchmal führen Sie Totara auf einem Server aus, der nicht direkt mit dem erht verbunden ist. In diesem Fall (20.0.0 oder höher) müssen Sie die Bibliotheksdateien auf einem Server mit Internetzugang vorinstallieren, bevor Sie sie auf den Server übertragen.
Laden Sie auf einem Server mit Internetzugang die Totara-Version (20.0.0 oder höher) herunter, die Sie installieren möchten
Stellen Sie sicher, dass Sie die gleiche PHP-Version wie Ihr Totara-Server ausführen
Den Installationsbefehl des Komponisten im Stammverzeichnis von Totara ausführen
composer install --no-dev -ooder vielleichtphp composer.phar install --no-dev -oKopieren Sie das gesamte Projekt einschließlich des Anbieterverzeichnisses auf den neuen Server
Stellen Sie beim Ausführen der Installation sicher, dass Sie das
--no-composerFlag oder eine der anderen Optionen setzen, die im Abschnitt „Verhindern, dass Totara Komponistenbefehle installiert/aktualisiert“ beschrieben sind.
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2026 Totara Learning Solutions. All rights reserved.