Ich kann dieses Problem einfach nicht lösen.
Ich bin auf Linode 1G RAM Grundplan. Der Versuch, ein Paket über Composer zu installieren, lässt mich nicht. Mein Speicherlimit ist auf PHP.ini auf "-1" gesetzt
Kann ich noch etwas tun, um dies zu installieren?
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing thujohn/rss (dev-master df80a7d)
Downloading: 100%
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975
Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975
php
laravel
laravel-4
composer-php
ericbae
quelle
quelle
Sieht so aus, als ob Ihnen der Swap-Speicher ausgeht. Versuchen Sie dies
wie unten durch @ BlackBurn027 auf Kommentare erwähnt, wurde diese Lösung in beschrieben hier
quelle
Als Anleitung zur Fehlerbehebung für Komponisten hier Dies kann passieren, weil der VPS nicht genügend Speicher hat und kein Swap-Speicherplatz aktiviert ist.
Um den Tausch zu aktivieren, können Sie beispielsweise Folgendes verwenden:
Oder wenn oben nicht funktioniert hat, können Sie versuchen, eine Auslagerungsdatei zu erstellen
quelle
Ich habe das gleiche Problem konfrontiert. Ich bin auf einer AWS Free Microinstance, die weniger Speicher hat. Ich versuche immer eine der folgenden Optionen und es funktioniert immer (Vor allem überprüfen Sie bitte, ob Sie die neueste Version von Composer installiert haben).
oder entfernen Sie den Inhalt des Herstellerordners und versuchen Sie, den Composer zu aktualisieren.
Die zweite Option versucht, alle Komponenten zu aktualisieren. Wenn keine Aktualisierung erfolgt, wird das Paket aus dem Cache abgerufen, andernfalls wird es aus der Ferne abgerufen
Hinweis: Bitte ändern Sie das Speicherlimit nach Ihren Wünschen.
oder
Erstellen Sie eine Swap-Partition und versuchen Sie es. Die Swap-Partition ist der Teil der Festplatte, den Linux als virtuellen Speicher verwendet, wenn der physische Speicher knapp wird. Es ähnelt der Windows-Auslagerungsdatei nur, anstatt eine tatsächliche Datei zu verwenden. Linux verwendet stattdessen eine Partition auf der Festplatte.
Hoffe das hilft
quelle
sudo php -dmemory_limit=750M composer.phar update
Could not open input file: composer.phar
Geben Sie einfach die folgenden Befehle ein:
rm -rf vendor/
rm -rf composer.lock
php composer install --prefer-dist
Sollte für Maschinen mit wenig Speicher funktionieren
quelle
Hier sind die Schritte, um das Problem zu beheben: (Sofortige schnelle Zuweisungsmethode für SWAP-Dateien)
Server-SWAP-Setup (Ubuntu 16.04 SWAP zur Behebung von Speicherfehlern)
Überprüfen Sie, ob Sie bereits Swap, Speicher und Festplattengröße haben:
Auslagerungsdatei erstellen: (Ändern Sie 1G in 4G, wenn Sie 4 GB SWAP-Speicher benötigen.)
Swap-Datei überprüfen:
Swap-Datei zuweisen:
Überprüfen Sie, ob Swap OK, Speicher und Festplattengröße sind:
Anhängen der Auslagerungsdatei beim Neustart des Systems:
Passen Sie die Einstellungen für die Auslagerungsdatei an:
SWAP-Dateipriorität: (0-100% => 0: Nicht austauschen, 100: SWAP aktivieren und RAM freigeben)
Inode aus dem Cache entfernen: (100: System entfernt Inode-Informationen zu schnell aus dem Cache)
quelle
sudo nano /etc/sysctl.conf
muss. Also überspringe ich es, starte Nginx neu und mache es danncomposer install
(vorher habe ich das Herstellerverzeichnis entfernt) und es funktioniert. Vielen Dank!Ich hatte das gleiche Problem mit Vagabunden. Ich habe es behoben, indem ich mehr Speicher zugewiesen habe.
quelle
vb.customize ...
Sie tun könnenvb.memory = 1024
.Versuchen
Es erhöht im Grunde den Swap-Speicher
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 && sudo /sbin/mkswap /var/swap.1 && sudo /sbin/swapon /var/swap.1
quelle
Versuch das:
quelle
Hier ist die Problemumgehung, die ich gefunden habe und die jedes Mal für mich funktioniert:
quelle
Ich habe versucht, indem ich nur den Herstellerordner und die Datei composer.lock gelöscht habe und dann den Befehl ausgeführt habe
composer clear-cache
und danncomposer install
. So funktioniert es ohne Fehler.quelle
Sie können Folgendes verwenden, um Ihren freien (Swap-) Speicher zu überprüfen
Um den Tausch zu aktivieren, können Sie beispielsweise Folgendes verwenden:
quelle
free -m
und bemerkte, dass ich kein Gedächtnis hatte, nicht einmal im Tausch. Dann tat essudo reboot
und es funktionierteDies scheint ein wiederkehrendes Problem bei 1 GB und kleineren Serverinstanzen zu sein. Abgesehen davon, dass Sie versuchen, Prozesse herunterzufahren und die Swap-Einstellungen zu optimieren, können Sie sie auf einem lokalen Computer installieren und hochladen.
quelle
Manchmal löst es das Problem, indem es den Komponisten selbst aktualisiert
Prost
quelle
composer self-update
, wenn jemand, der mit dem Komponisten nicht so vertraut ist, diese Antwort lesen soll.Versuche dies:
Diese Arbeit für mich auf Centos 6
quelle
Ich habe das PHP
memory_limit
von 128M auf 512M erhöht und den Server neu gestartet. Das hat das Problem gelöst.quelle
Ich gerate die meiste Zeit in diese Situation, so dass ich normalerweise den Schritt des Einstellens des Auslagerungsspeichers befolgte.
Aber jetzt habe ich einen einfachen alternativen Trick gefunden, der für mich funktioniert hat.
Führen Sie
composer update --no-dev
Andere alscomposer update
quelle
Ich habe das gleiche Problem in Vagrant gelöst. Ich habe den Wert von memory_limit erhöht und den Composer-Cache gelöscht: sudo rm -R ~ / .composer und schließlich vagrant reload .
quelle
habe das gleiche problem mit dem php composer.phar update auf meinem 512mb hosting.
gelöst mit php composer.phar installieren
quelle
Machen Sie einen Swap und führen Sie den Composer-Befehl erneut aus. Ich hoffe es wird für dich funktionieren.
quelle
In meinem Fall habe ich alles versucht, was oben aufgeführt war. Ich habe Laravel und Vagrant mit 4 GB Speicher und einem Swap verwendet, wobei das Speicherlimit auf -1 festgelegt war. Ich habe den Hersteller / gelöscht und andere PHP-Versionen ausprobiert. Schließlich habe ich es geschafft, durch Laufen zu funktionieren
Und dann funktionierte die Composer-Installation wieder wie gewohnt.
quelle
Ich hatte ein ähnliches Problem auf dem billigsten Server (512 MB RAM) gehostet mit DigitalOcean , und ich war auch auf dem gleichen Server Jenkins CI ausgeführt wird . Nachdem ich die Jenkins-Instanz gestoppt hatte, funktionierte der Composer-Installationsbefehl (bis zu einem gewissen Punkt schlug er fehl, da die mcrypt-Erweiterung fehlte und bereits installiert war!).
Wenn auf dem Server eine andere App ausgeführt wird, lohnt es sich möglicherweise, sie zu stoppen und den Befehl erneut auszuführen.
quelle
Bitte deaktivieren Sie die js-Bündelung und erhöhen Sie den Speicher. Das sollte es beheben. Ich habe meine behoben, indem ich die js-Bündelung deaktiviert habe.
Vielen Dank
quelle
Bearbeiten Sie die Datei php.ini und erhöhen Sie den Wert für memory_limit.
wird dieses Problem lösen.
quelle
> mmap () fehlgeschlagen: [12] Speicher kann nicht zugeordnet werden
Aktualisieren Sie den Speicher auf dem Server und benötigen Sie '4G'. Ändern Sie den 4-GB-RAM [versuchen Sie, den Servertyp zu ändern oder weiteren RAM hinzuzufügen]
2 Dateien Wir müssen bearbeiten
auf Befehl
und bearbeiten
"memory_limit 756M”
zu4G
Php ini auf php 7.0
memory_limit = 128M bis 4G
#AWS #AMAZONLINUX # MAGENTO2 # PHP7.0
quelle
.htaccess
wirkt sich schließlich nichtcomposer
aus, da dies nicht über einen Webserver ausgeführt wird