Wenn Sie ausführen composer update
, überprüft das Betriebssystem die konfigurierten Pfade und versucht, eine ausführbare Datei mit diesem Namen zu finden.
Während der Ausführung php composer update
wird die composer
Zeichenfolge als Parameter für PHP behandelt, der in keinem Pfad durchsucht wird. Sie müssen den vollständigen Pfad angeben, um ihn ausführen zu können.
Wenn Sie ausgeführt which composer
werden, erfahren Sie, wo das Betriebssystem die ausführbare Composer-Datei findet, und verwenden dann einfach den vollständigen Pfad im PHP-Befehl:
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
Beachten Sie, dass 512 MB möglicherweise zu wenig sind. Ich gehe davon aus, dass 1 GB oder mehr benötigt werden, abhängig von der Anzahl der verwendeten Abhängigkeiten und der Vielzahl der Versionen, die Sie theoretisch zulassen. Wenn Sie also Symfony zulassen ~2.3
, lässt Composer im Vergleich zur Verwendung viel mehr mögliche Versionen verarbeiten ~2.7
.
Beachten Sie auch, dass das Ausführen von Composer auf der Produktionsmaschine nicht die beste Idee ist. Sie müssten Zugriff auf Github haben, möglicherweise Zugriffsdaten angeben, VCS-Tools installiert haben und Ihre Site leicht beschädigen, wenn einer der Remote-Hosting-Server während Ihres Updates offline ist. Es ist besser, Composer auf einem Bereitstellungssystem zu verwenden, das die gesamte Vorbereitung durchführt und dann alle Dateien auf den Produktionsserver verschiebt.
Aktualisieren
Es ist jetzt das Jahr 2020 und die Art und Weise, wie Composer sein Gedächtnis verwaltet, hat sich ziemlich verändert. Das Wichtigste ist, dass Composer das Speicherlimit von selbst erhöht, wenn es auf ein zu niedriges Limit stößt. Dies löst jedoch sofort das Problem aus, dass auf Computern mit zu wenig installiertem Speicher nicht genügend Arbeitsspeicher vorhanden ist. Sie können Composer dazu bringen, weniger Speicher zu verwenden, indem Sie die Umgebungsvariable wie COMPOSER_MEMORY_LIMIT=512M
festlegen. Dies führt jedoch zu Problemen, wenn Composer mehr Speicher benötigt, um ordnungsgemäß zu funktionieren.
Mein Hauptpunkt bleibt wahr: Führen Sie Composer nicht auf Computern aus, auf denen zu wenig Speicher installiert ist. Sie benötigen möglicherweise 1,5 GB freien Speicher, um alles aktualisieren zu können.
composer install
genug. In Ihrem Fall, während Sie ein Shared Hosting verwenden, werden Sie wahrscheinlich nichtcomposer update
arbeiten. Der einzige Weg ist also, ein VPS-Hosting wie Digital Ocean, Linode zu kaufen.