Entwicklung und Datenbanken

PHP-Abhängigkeiten mit Composer auf dem Hosting installieren

Geprüft am 5 Min. Lesezeit composer dependencias

Composer installiert die PHP-Bibliotheken, die ein Projekt benötigt, anhand von composer.json. Wenn composer.lock vorhanden ist, kann es die Versionen reproduzieren, die Sie getestet haben. Es ist über SSH und das cPanel-Terminal verfügbar.

Die Umgebung prüfen

Öffnen Sie das Terminal und rufen Sie Folgendes auf:

php -v
composer --version
php --ini

Diese Befehle zeigen das PHP der Kommandozeile mit seinen Modulen. Meist ist das die allgemeine Version, die im PHP-Selector von cPanel ausgewählt ist, aber nicht immer. Wenn es nicht die Version Ihrer Website ist, wenn für den Ordner der Website eine andere festgelegt ist oder wenn ein Befehl eine andere braucht, verwenden Sie den Pfad ihres Binärprogramms, auch für Composer: /opt/alt/php84/usr/bin/php "$(command -v composer)" install. Prüfen Sie vor der Installation die Anforderungen des Projekts und die Erweiterungen des Interpreters, den Composer verwenden wird.

Wenn composer nicht gefunden wird, prüfen Sie command -v composer und fragen Sie beim Support nach dem in Ihrem Konto verfügbaren Pfad. Für die Verwaltung der Projektabhängigkeiten benötigen Sie keine Administratorrechte.

Die getesteten Versionen installieren

Arbeiten Sie in dem Ordner, der composer.json und composer.lock enthält, am besten in einem neuen Release oder einer Testumgebung:

cd /home/usuario/apps/mi-proyecto &&
composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader &&
composer check-platform-reqs --no-dev

Ersetzen Sie den Pfad durch den Ihres Projekts. Das Beispiel lässt die Entwicklungsabhängigkeiten für eine Produktionsinstallation weg; Ihr Testprozess braucht sie möglicherweise. Wenn die Lock-Datei fehlt, erstellen und testen Sie eine in der Entwicklung, bevor Sie deployen.

composer update löst neue Versionen auf und ändert die Lock-Datei. Verwenden Sie es im Rahmen des Aktualisierungsprozesses in der Entwicklung, prüfen Sie die Änderung und testen Sie die Anwendung vor der Veröffentlichung. Um ein bereits getestetes Release zu installieren, verwenden Sie install. Lesen Sie dazu den Unterschied zwischen install und update.

Composer kann während der Installation Skripte und Plugins des Projekts ausführen. Verwenden Sie vertrauenswürdigen Code und prüfen Sie, welche Vorgänge ausgeführt werden; das Installieren von Abhängigkeiten ist nicht unbedingt ein Vorgang ohne Auswirkungen auf die Anwendung.

Eine fehlende Erweiterung beheben

Eine Meldung wie diese bedeutet, dass dem PHP von Composer eine benötigte Erweiterung fehlt:

requires ext-zip * -> the requested PHP extension zip is missing from your system

Prüfen Sie die Version mit php -v und ihre Module mit php -m. Aktivieren Sie zip für genau diese Version im PHP-Modul-Selector, prüfen Sie erneut und wiederholen Sie die Installation.

Wenn Sie einen anderen Interpreter verwenden müssen, nutzen Sie seinen absoluten Pfad zusammen mit einer PHP-Installation von Composer, deren Pfad Sie geprüft haben. PHP in einer .htaccess zu ändern, ändert den Interpreter dieses Befehls nicht.

Umgehen Sie eine nicht erfüllte Anforderung nicht mit --ignore-platform-reqs: Die Installation könnte durchlaufen und die Anwendung trotzdem bei der Ausführung fehlschlagen. Wenn eine Systembibliothek fehlt oder die Erweiterung nicht verfügbar ist, klären Sie die Kompatibilität mit dem Support.

Das Ergebnis prüfen

Prüfen Sie, dass Composer ohne Fehler endet, dass vendor/autoload.php existiert und dass check-platform-reqs die tatsächliche Umgebung bestätigt. Testen Sie danach die Website und ihre geplanten Aufgaben. Diese Prüfung ersetzt keine Funktionstests und prüft nicht das Web-PHP, wenn es sich von dem des Terminals unterscheidet.

Bei einem Speicher- oder Platzfehler prüfen Sie die Ressourcen des Tarifs und die Größe der Abhängigkeiten. Sie können ein Artefakt in einer kompatiblen Umgebung vorbereiten, müssen seine Anforderungen aber auf dem Hosting prüfen, bevor Sie es veröffentlichen.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.