Laravel mit Composer über SSH: Pakete verwalten
Composer ist der Standard-Paketmanager für PHP und unverzichtbar für jedes Laravel-Projekt. Über SSH können Sie Composer-Befehle direkt auf Ihrem Hosting ausführen, um Pakete zu installieren, zu aktualisieren und zu verwalten. In diesem Handbuch erfahren Sie alles über die effektive Nutzung von Composer über SSH für Ihre Laravel-Anwendungen.
Was ist Composer und warum benötigen Sie ihn?
Composer ist ein Abhängigkeitsmanager, der automatisch alle benötigten PHP-Bibliotheken für Ihr Projekt verwaltet. Er verfolgt, welche Pakete Sie benötigen, und installiert diese in den richtigen Versionen. Laravel selbst wird ebenfalls über Composer installiert und aktualisiert. Dies macht Composer zu einem wesentlichen Werkzeug für jeden Laravel-Entwickler.
Die wichtigsten Vorteile von Composer:
- Automatische Verwaltung aller Projektabhängigkeiten, was bedeutet, dass Sie sich keine Sorgen um die manuelle Versionsverwaltung machen müssen.
- Versionskontrolle, damit Pakete kompatibel bleiben, was Ihr Projekt stabiler und zuverlässiger macht.
- Einfache Aktualisierung von Bibliotheken mit einem Befehl, was Ihnen Zeit und Mühe spart.
- Autoloading von PHP-Klassen ohne manuelle Includes, was Ihren Code sauberer und leichter wartbar macht.
- Zugang zu Tausenden von Paketen über Packagist.org, wodurch Sie schnell Funktionalität zu Ihrem Projekt hinzufügen können.
SSH-Zugang für Ihr Hosting aktivieren
Bevor Sie Composer verwenden können, benötigen Sie SSH-Zugang. Bei Theory7 aktivieren Sie dies einfach über DirectAdmin unter den SSH-Optionen. Nach der Aktivierung verbinden Sie sich mit einem SSH-Client. Dies ist ein entscheidender Schritt, da SSH Ihnen ermöglicht, sicher und effizient Befehle auf Ihrem Server auszuführen.
Unter Windows verwenden Sie PuTTY, unter Mac oder Linux das integrierte Terminal:
ssh benutzername@ihredomain.de
Vergessen Sie nicht, Ihren Benutzernamen und Ihre Domain anzupassen. Einmal verbunden, haben Sie Zugriff auf die Kommandozeile Ihres Servers, wo Sie Composer verwenden können.
Verfügbarkeit von Composer überprüfen
Auf Theory7-Hosting ist Composer normalerweise bereits installiert. Überprüfen Sie dies mit:
composer --version
Sie sehen dann die installierte Version. Ist Composer nicht verfügbar, installieren Sie es lokal in Ihrem Home-Verzeichnis. Dies kann normalerweise durch Ausführen einiger einfacher Befehle erfolgen, abhängig von Ihrer Serverkonfiguration.
Wesentliche Composer-Befehle für Laravel
Abhängigkeiten installieren
Nach dem Klonen eines Laravel-Projekts installieren Sie alle Pakete:
composer install
Für Produktionsumgebungen verwenden Sie zusätzliche Flags für bessere Leistung:
composer install --no-dev --optimize-autoloader
Die Verwendung des --no-dev-Flags stellt sicher, dass nur die notwendigen Pakete für die Produktion installiert werden, was die Ladezeit Ihrer Anwendung verbessern kann.
Neue Pakete hinzufügen
Fügen Sie ein Paket zu Ihrem Projekt hinzu:
composer require vendor/paket-name
Wenn Sie beispielsweise laravel/sanctum für die API-Authentifizierung hinzufügen möchten, verwenden Sie:
composer require laravel/sanctum
Pakete aktualisieren
Aktualisieren Sie alle Pakete auf die neuesten kompatiblen Versionen:
composer update
Dieser Befehl ist nützlich, um sicherzustellen, dass Sie immer die neuesten Sicherheitsupdates und Funktionen haben. Beachten Sie jedoch, dass dies auch zu Kompatibilitätsproblemen führen kann, testen Sie daher Ihre Anwendung immer nach einem Update.
Autoloader regenerieren
Nach manuellen Änderungen in Ihrer Classmap:
composer dump-autoload
Dies ist besonders nützlich, wenn Sie neue Klassen hinzugefügt oder bestehende Klassen verschoben haben.
Beliebte Laravel-Pakete
Einige häufig verwendete Pakete, die Sie über Composer installieren:
- laravel/sanctum - API-Authentifizierungstoken, ideal für SPAs und mobile Anwendungen.
- spatie/laravel-permission - Rollen- und Berechtigungssystem, das Ihnen hilft, Benutzerrechte effektiv zu verwalten.
- intervention/image - Bilder bearbeiten und zuschneiden, ein Muss für jede Anwendung, die mit Medien arbeitet.
- barryvdh/laravel-debugbar - Debug-Informationen während der Entwicklung, die Ihnen helfen, Probleme schnell zu identifizieren.
- laravel/horizon - Warteschlangenüberwachungs-Dashboard, ideal zur Verwaltung Ihrer Hintergrundaufgaben.
Häufige Probleme lösen
Speichergrenzenfehler
Bei großen Projekten kann Composer auf Speichergrenzen stoßen. Erhöhen Sie vorübergehend das Limit:
COMPOSER_MEMORY_LIMIT=-1 composer install
Dieser Befehl setzt das Speicherlimit auf unbegrenzt, was nützlich sein kann für große Installationen oder Updates.
Timeout bei großen Paketen
Erhöhen Sie das Timeout für langsame Downloads:
composer config --global process-timeout 600
Dies kann helfen, wenn Sie mit einer langsamen Internetverbindung arbeiten oder wenn der Server langsam reagiert.
Cache-Probleme
Leeren Sie den Composer-Cache bei seltsamen Fehlern:
composer clear-cache
Dies kann helfen, Probleme zu lösen, die aus veralteten oder beschädigten Cache-Dateien resultieren.
Best Practices für Composer
- Committen Sie immer
composer.lockin Ihr Git-Repository. Dies stellt sicher, dass jeder in Ihrem Team dieselben Versionen verwendet, was Kompatibilitätsprobleme vermeidet. - Verwenden Sie
installin der Produktion, niemalsupdate. Dies verhindert unerwartete Ausfälle durch neue Versionen. - Überprüfen Sie regelmäßig auf Updates mit
composer outdated. Dies hilft Ihnen, Ihr Projekt aktuell zu halten. - Geben Sie Versionsbeschränkungen in
composer.jsonan. Dies stellt sicher, dass Sie nicht versehentlich auf eine inkompatible Version aktualisieren. - Verwenden Sie das
--no-dev-Flag auf Produktionsservern. Dies reduziert die Belastung und erhöht die Sicherheit.
composer.json versus composer.lock
Der Unterschied zwischen diesen beiden Dateien ist wichtig:
- composer.json - Definiert, welche Pakete Sie möchten und welche Versionsbereiche akzeptabel sind. Diese Datei ist die Grundlage Ihrer Projektkonfiguration.
- composer.lock - Enthält die genauen Versionen, die installiert sind. Diese Datei sorgt dafür, dass Ihr Projekt konsistent bleibt, unabhängig davon, wo es installiert wird.
Durch das Committen von composer.lock stellen Sie sicher, dass jeder in Ihrem Team dieselben Versionen verwendet, was entscheidend für die Zusammenarbeit und die Konsistenz des Projekts ist.
Mit diesem Wissen verwalten Sie effizient alle Pakete für Ihre Laravel-Projekte über SSH. Brauchen Sie Hilfe bei Ihrem Laravel-Hosting? Das Team von Theory7 steht bereit, um Sie bei all Ihren Fragen und Herausforderungen zu unterstützen.
0 van 0 vonden dit nuttig