Die Meldung "Getötet" bedeutet normalerweise, dass Ihr Prozess zu viel Speicher verbraucht hat. Daher müssen Sie Ihrem System möglicherweise nach Möglichkeit einfach mehr Speicher hinzufügen. Zum Zeitpunkt des Schreibens dieser Antwort musste ich den Speicher meiner virtuellen Maschine auf mindestens 768 MB erhöhen, um composer update
in bestimmten Situationen arbeiten zu können.
Wenn Sie dies jedoch auf einem Live-Server tun, sollten Sie es überhaupt nicht verwenden composer update
. Was Sie stattdessen tun sollten, ist:
- Führen Sie es
composer update
in einer lokalen Umgebung aus (z. B. direkt auf Ihrem physischen Laptop / Desktop oder einem Docker-Container / einer Docker-VM, die auf Ihrem Laptop / Desktop ausgeführt wird), in der die Speicherbeschränkungen nicht so schwerwiegend sein sollten.
- Laden Sie
git push
die Datei composer.lock hoch.
- Führen Sie
composer install
auf dem Live - Server.
composer install
wird dann aus der .lock-Datei lesen und jedes Mal genau die gleichen Versionen abrufen, anstatt die neuesten Versionen jedes Pakets zu finden. Dadurch wird die Wahrscheinlichkeit verringert, dass Ihre App beschädigt wird, und der Komponist benötigt weniger Speicher.
Lesen Sie hier mehr: https://getcomposer.org/doc/01-basic-usage.md#installing-with-composer-lock
Alternativ können Sie das gesamte vendor
Verzeichnis auf den Server hochladen composer install
, ohne dass es ausgeführt werden muss composer dump-autoload --optimize
. Dann sollten Sie es ausführen .
Wenn Sie wie ich eine Mikro-VM ohne Arbeitsspeicher verwenden, reicht das Erstellen einer Auslagerungsdatei aus:
Übrigens können Sie auch einen anderen Speicherort / Dateinamen / eine andere Größe für die Datei auswählen.
/var
ist wahrscheinlich nicht der beste Ort, aber ich weiß nicht, welcher Ort sein würde, und es ist mir egal, da winzige Server meistens zu Testzwecken verwendet werden.quelle
sudo
- ich musste Root-Rechte verwenden, um diese Befehle auszuführen.swapon: swapfile: swapon failed: Operation not permitted
, warum?[root@server _swap_]# dd if=/dev/zero of=swapfile bs=1M count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 2.79954 s, 375 MB/s [root@server _swap_]# ls -l total 1024004 -rw------- 1 root root 1048576000 Feb 6 02:12 swapfile [root@server _swap_]# mkswap swapfile Setting up swapspace version 1, size = 1023996 KiB no label, UUID=b3f1110e-5f43-4d1f-bbb1-71cad96680f9 [root@server _swap_]# swapon swapfile swapon: swapfile: swapon failed: Operation not permitted
Leider benötigt der Komponist viel RAM und Rechenleistung. Hier sind einige Dinge, die ich getan habe und die zusammen den Prozess erträglich gemacht haben. Dies war auf meinem Cloud-Laufstall env.
service mysql stop
(Beenden Sie Ihre DB / mem-hog-Dienste, um RAM freizugeben - vergessen Sie nicht, ihn erneut zu starten!)top
, um den Speicher- / Auslagerungsverbrauch zu überwachen, bis der Vorgang abgeschlossen ist.composer.phar update --prefer-dist -vvv
(ausführliche Ausgabe [hängt an einigen Stellen beim Arbeiten noch ab] und Verwendung von Distribution-Zip-Dateien). Vielleicht versuchen Sie es--dry-run
auch?quelle
top
durchhtop
, bequemer.DigitalOcean-Fix, der keinen zusätzlichen Speicher benötigt - Swap aktivieren, hier ein Beispiel für 1 GB:
im Terminal unten laufen
Die obige Lösung funktioniert bis zum nächsten Neustart, danach müsste der Swap reaktiviert werden. Um es zwischen den Neustarts beizubehalten, fügen Sie die Auslagerungsdatei zu fstab hinzu:
Öffnen Sie die obige Datei und fügen Sie der Datei die folgende Zeile hinzu
Starten Sie nun den Server neu. Composer erfordern funktioniert gut.
quelle
Führen Sie Vendor und Composer.lock aus
composer self-update
undcomposer clearcache
entfernen Sie es. Starten Sie Ihre lokale Umgebung neu und führen Sie sie ausphp -d memory_limit=-1 /usr/local/bin/composer install
quelle
Erhöhen Sie das Speicherlimit für Composer
Möglicherweise muss nach dieser Änderung ein Neustart durchgeführt werden
quelle
Ich habe diesen Fehler erhalten, als ich
composer install
in meinem PHP DOCKER-Container lief. Es ist ein Speicherproblem. Gelöst durch Erhöhen des SWAP-Speichers in DOCKER PREFERENCES von 512 MB auf 1,5 GBquelle
Ich bekomme dieses Problem für ein Paket verursacht, das nicht richtig mit Platzhaltern aktualisiert wird. Ich verwende direkt die letzte Version und es funktioniert schließlich.
l3 / cas-bundle: ~ 1.0 -------> l3 / cas-bundle: 1.1.13
quelle
Wenn Sie Docker verwenden, können Sie COMPOSER_PROCESS_TIMEOUT verwenden
quelle
So gelang es mir, das Paket maatwebsite \ excel von Composer in Laravel Framework zu installieren:
composer update
an der lokalen Eingabeaufforderung (und warte, bis der gesamte Installationsvorgang abgeschlossen ist).composer install
auf einem Remote-Server ausführen (dann warten, bis der gesamte Prozess abgeschlossen ist).quelle
quelle
Gelöst auf Laravel / Homestead (Vagrant Windows)
Bearbeiten
Homestead.yaml
und erhöhen Sie den Speicher von 2048 auf 4096Landstreicher
Vagabund ssh
Installieren Sie Symfony mit dieser Zeile in dem von Ihnen ausgewählten Ordner (muss ohne Dateien sein).
quelle
Sie können Einstellung versuchen
preferred-install
zu"dist"
in Composer - Konfig.quelle
Ich habe diesen Fehler in einer lokalen Docker-Umgebung erhalten. Ich habe es gelöst, indem ich Docker einfach neu gestartet habe.
quelle