Wie man PHP Composer auf Shared/Virtual Hosting installiert: Ein vollständiger Leitfaden
PHP Composer ist der De-facto-Standard-Dependency-Manager für PHP und ermöglicht es Entwicklern, die Bibliotheken, von denen ihre Projekte abhängen, zu deklarieren, zu installieren und zu verwalten. Egal ob Sie eine Laravel-Anwendung, eine Symfony-API oder ein benutzerdefiniertes PHP-Projekt erstellen – Composer ist ein unverzichtbares Werkzeug in Ihrem Workflow.
Dieser umfassende Leitfaden führt Sie durch jeden Schritt der Installation von PHP Composer in einer Virtual- oder Shared-Hosting-Umgebung – vom SSH-Zugriff bis zur globalen Konfiguration und praktischer Verwendung.
Was ist PHP Composer und warum benötigen Sie es?
PHP Composer ist ein Paketmanager, der die Abhängigkeitsverwaltung auf Projektebene handhabt. Anstatt Bibliotheken manuell herunterzuladen und das Autoloading zu verwalten, löst Composer Abhängigkeiten automatisch auf, lädt die richtigen Versionen herunter und generiert einen optimierten Autoloader.
Wichtige Vorteile sind:
- Automatische Abhängigkeitsauflösung – Composer handhabt Versionskonflikte und verschachtelte Abhängigkeiten.
- Reproduzierbare Builds – Die
composer.lock-Datei stellt sicher, dass jedes Teammitglied und jede Bereitstellungsumgebung identische Paketversionen verwendet. - Großes Ökosystem – Zugriff auf über 350.000 Pakete auf Packagist, dem Standard-Composer-Repository.
- PSR-4-Autoloading – Eliminiert manuelle
require– undinclude-Anweisungen in Ihrer gesamten Codebasis.
Wenn Sie PHP-Anwendungen auf Shared Web Hosting oder einer VPS-Hosting-Umgebung ausführen, ist die Installation von Composer einer der ersten Schritte zu einem professionellen, wartbaren Entwicklungs-Workflow.
Voraussetzungen
Bevor Sie beginnen, bestätigen Sie, dass die folgenden Anforderungen erfüllt sind:
| Anforderung | Details |
|---|---|
| Hosting-Zugriff | SSH-Zugriff auf Ihrem Hosting-Konto aktiviert |
| PHP-Version | PHP 7.2 oder höher (PHP 8.x wird dringend empfohlen) |
| PHP-Erweiterungen | openssl, phar, mbstring, json müssen aktiviert sein |
| Berechtigungen | Möglichkeit, in Ihr Home-Verzeichnis oder ein Verzeichnis in Ihrem $PATH zu schreiben |
| Terminal-Client | Terminal (macOS/Linux) oder PuTTY / Windows Terminal (Windows) |
> Hinweis: Wenn Sie einen verwalteten Shared-Hosting-Plan ohne SSH-Zugriff haben, wenden Sie sich an Ihren Hosting-Anbieter, um ihn zu aktivieren. AlexHosts Shared Web Hosting-Pläne beinhalten SSH-Zugriff und geben Ihnen die Kontrolle, die Sie benötigen.
Schritt 1: Verbindung zu Ihrem Server über SSH
Öffnen Sie Ihre Terminal-Anwendung und stellen Sie eine SSH-Verbindung zu Ihrem Hosting-Konto her:
ssh username@yourdomain.comErsetzen Sie username durch Ihren tatsächlichen SSH-Benutzernamen und yourdomain.com durch Ihren Domänennamen oder Ihre Server-IP-Adresse.
Beispiel:
ssh john@203.0.113.45Nach der Authentifizierung landen Sie in Ihrem Home-Verzeichnis (normalerweise /home/username/). Sie können Ihren aktuellen Standort mit folgendem Befehl bestätigen:
pwdSchritt 2: Überprüfen Sie, ob PHP verfügbar ist
Bevor Sie Composer herunterladen, bestätigen Sie, dass PHP installiert ist und über die Befehlszeile zugänglich ist:
php -vSie sollten eine Ausgabe ähnlich wie diese sehen:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:15:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend TechnologiesWenn PHP nicht gefunden wird oder die Version unter 7.2 liegt, wenden Sie sich an Ihren Hosting-Anbieter oder aktualisieren Sie Ihre Umgebung. Benutzer eines VPS-Hosting-Plans haben vollständige Kontrolle, um PHP-Versionen nach Bedarf zu installieren oder zu aktualisieren.
Überprüfen Sie auch, dass die erforderlichen Erweiterungen geladen sind:
php -m | grep -E 'openssl|phar|mbstring|json'Alle vier Erweiterungen sollten in der Ausgabe angezeigt werden.
Schritt 3: Laden Sie das Composer-Installationsprogramm herunter
Composer stellt ein offizielles PHP-basiertes Installationsskript zur Verfügung. Laden Sie es mit folgendem Befehl herunter:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"Dies lädt das composer-setup.php-Installationsskript in Ihr aktuelles Arbeitsverzeichnis herunter.
Schritt 4: Überprüfen Sie die Integrität des Installationsprogramms
Dieser Schritt ist kritisch für die Sicherheit. Überprüfen Sie immer den SHA-384-Hash des Installationsprogramms, bevor Sie ihn ausführen, um sicherzustellen, dass die Datei nicht manipuliert oder während des Downloads beschädigt wurde.
4a. Rufen Sie den erwarteten Hash von der offiziellen Composer Public Keys-Seite ab:
Besuchen Sie https://composer.github.io/pubkeys.html, um den neuesten Installer-Hash abzurufen.
4b. Führen Sie den Verifizierungsbefehl aus:
HASH="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"Vergleichen Sie ihn dann mit dem veröffentlichten Hash:
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Wenn Sie „Installer verified” sehen, fahren Sie fort. Wenn Sie „Installer corrupt” sehen, stoppen Sie sofort, löschen Sie die Datei und laden Sie sie erneut herunter.
Alternativ können Sie die One-Liner aus der offiziellen Composer-Dokumentation verwenden und EXPECTED_HASH durch den Wert von der Public Keys-Seite ersetzen:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'EXPECTED_HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Schritt 5: Führen Sie das Composer-Installationsprogramm aus
Nachdem das Installationsprogramm überprüft wurde, führen Sie es aus, um Composer zu installieren:
php composer-setup.phpBei erfolgreicher Ausführung sehen Sie eine Ausgabe wie:
All settings correct for using Composer
Downloading...
Composer (version 2.x.x) successfully installed to: /home/username/composer.phar
Use it: php composer.pharEine composer.phar-Datei wird jetzt in Ihrem aktuellen Verzeichnis erstellt. In diesem Stadium können Sie Composer bereits durch Aufrufen von php composer.phar verwenden, aber es ist viel praktischer, ihn global zugänglich zu machen.
Schritt 6: Bereinigen Sie das Installationsskript
Entfernen Sie das Setup-Skript, da es nicht mehr benötigt wird:
php -r "unlink('composer-setup.php');"Schritt 7: Installieren Sie Composer global
Um Composer von überall auf Ihrem System mit nur dem composer-Befehl auszuführen, verschieben Sie die composer.phar-Binärdatei in ein Verzeichnis, das in Ihrem System-$PATH enthalten ist.
Auf einem VPS oder dedizierten Server (mit sudo-Zugriff):
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composerAuf Shared Hosting (ohne sudo-Zugriff):
Wenn Sie keine sudo-Berechtigungen haben, installieren Sie Composer lokal in Ihrem Home-Verzeichnis:
mkdir -p ~/bin
mv composer.phar ~/bin/composer
chmod +x ~/bin/composerFügen Sie dann ~/bin zu Ihrem $PATH hinzu, indem Sie die folgende Zeile an Ihre ~/.bashrc oder ~/.bash_profile anhängen:
export PATH="$HOME/bin:$PATH"Laden Sie die Shell-Konfiguration neu:
source ~/.bashrc> Pro-Tipp: Wenn Sie vollständigen Root-Zugriff benötigen und mehr Kontrolle über Ihre PHP-Umgebung wünschen, erwägen Sie ein Upgrade auf einen VPS-Hosting-Plan oder einen dedizierten Server für uneingeschränkte Konfiguration auf Systemebene.
Schritt 8: Überprüfen Sie die Installation
Bestätigen Sie, dass Composer installiert ist und global zugänglich:
composer --versionErwartete Ausgabe:
Composer version 2.x.x 2024-xx-xx xx:xx:xxFür eine vollständige Diagnose Ihrer Umgebung führen Sie Folgendes aus:
composer diagnoseDieser Befehl überprüft Ihre PHP-Konfiguration, Netzwerkkonnektivität und Composer-Einstellungen und meldet mögliche Probleme.
Schritt 9: Verwenden Sie Composer zur Verwaltung von PHP-Abhängigkeiten
Jetzt, da Composer installiert ist, erfahren Sie, wie Sie es effektiv in Ihren PHP-Projekten verwenden.
9a. Initialisieren Sie ein neues Projekt
Navigieren Sie zu Ihrem Projektverzeichnis und initialisieren Sie ein neues Composer-Projekt:
cd /path/to/your/project
composer initDer interaktive Assistent fordert Sie auf:
- Paketname (z. B.
yourname/project) - Beschreibung
- Autoreninformationen
- Minimale Stabilität
- Erforderliche Abhängigkeiten
Dies generiert eine composer.json-Datei – das Herzstück der Abhängigkeitskonfiguration Ihres Projekts.
9b. Installieren Sie ein Paket
Um eine Bibliothek zu Ihrem Projekt hinzuzufügen, verwenden Sie den require-Befehl:
composer require vendor/package-namePraktische Beispiele:
# Install Guzzle HTTP client
composer require guzzlehttp/guzzle
# Install Carbon date library
composer require nesbot/carbon
# Install Monolog logging library
composer require monolog/monologComposer löst Abhängigkeiten auf, lädt die Pakete in das vendor/-Verzeichnis herunter und aktualisiert composer.json und composer.lock.
9c. Installieren Sie alle Abhängigkeiten aus composer.json
Wenn Sie ein Projekt bereitstellen oder ein Repository klonen, installieren Sie alle deklarierten Abhängigkeiten mit:
composer installFür Produktionsumgebungen verwenden Sie das --no-dev-Flag, um nur-Entwicklungs-Pakete zu überspringen:
composer install --no-dev --optimize-autoloader9d. Aktualisieren Sie Abhängigkeiten
Um alle Pakete auf ihre neuesten zulässigen Versionen zu aktualisieren:
composer updateUm ein bestimmtes Paket zu aktualisieren:
composer update vendor/package-name9e. Autoloading
Composer generiert automatisch einen Autoloader. Fügen Sie ihn am Anfang Ihres PHP-Einstiegspunkts ein:
<?php
require 'vendor/autoload.php';Diese einzelne Zeile gibt Ihnen Zugriff auf alle installierten Pakete und alle benutzerdefinierten Namespaces, die Sie in composer.json definieren.
Behebung häufiger Probleme
| Problem | Ursache | Lösung |
|---|---|---|
composer: command not found | Binärdatei nicht in $PATH | Fügen Sie das Installationsverzeichnis zu $PATH hinzu und laden Sie die Shell neu |
PHP Fatal error: Allowed memory size exhausted | PHP-Speicherlimit zu niedrig | Führen Sie php -d memory_limit=-1 /usr/local/bin/composer install aus |
SSL certificate problem | Fehlende CA-Zertifikate | Installieren Sie das ca-certificates-Paket oder aktualisieren Sie die openssl-Konfiguration von PHP |
The requested PHP extension ... is missing | Erforderliche Erweiterung deaktiviert | Aktivieren Sie die Erweiterung in php.ini oder wenden Sie sich an Ihren Host |
