Maison > outils de développement > composer > le corps du texte

Le compositeur s'arrête et affiche le problème Killed

藏色散人
Libérer: 2021-07-03 15:39:03
avant
1778 Les gens l'ont consulté

Exécution de Composer sur un VPS Linode avec 1 Go de mémoire (la mémoire d'exécution maximale allouée à PHP est de 128 Mo) pour installer le module Drupal, je n'ai pas reçu d'invite réussie, juste une invite TUÉE.

Après avoir augmenté la mémoire PHP de 128 Mo à 256 Mo en modifiant la mémoire d'exécution allouée à PHP, le message d'erreur est devenu plus précis :

Fatal error: Out of memory (allocated 754982912) (tried to allocate 33554440 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleSet.php on line 84
Copier après la connexion

Ajouté à 512 Mo :

Fatal error: Out of memory (allocated 832577536) (tried to allocate 16777216 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
Copier après la connexion

Ajouté à 768 Mo, et le message d'erreur est devenu un simple KILLED.

Il semblerait que Composer ait un gros appétit. ce qu'il faut faire?

1. Le moyen le plus simple, le plus grossier et le plus efficace consiste à mettre à niveau le serveur et à ajouter de la mémoire au serveur. Si vous êtes vraiment pauvre et inquiet pour l'argent, abandonnez Composer ou sauvez le pays à travers les courbes.

2. L'alternative est d'allouer de la fausse mémoire au serveur pour tromper le serveur et en savoir plus sur le cache SWAP. Big Viagra a un article ici : SWAP Q&A : Qu'est-ce que SWAP ? A quoi sert SWAP ? Comment utiliser SWAP ?

Big Viagra est résolu en augmentant le cache SWAP du serveur à 2,5 Go. Bien sûr, le faux est faux après tout, et le cache créé par le disque dur n'est certainement pas aussi bon que la vraie mémoire en termes de performances.

3. Quelqu'un sur Stack Overflow a partagé une méthode qui peut être efficace, mais je ne l'ai pas essayée. Il s'agit d'exécuter Composer dans l'environnement de développement local. Après succès, téléchargez composer.lock ou git push sur le serveur de production, puis exécutez composer install sur le serveur de production.

composer install lira la configuration dans le fichier .lock et extraira directement la même version du progiciel, au lieu de rechercher la dernière version de chaque progiciel. De cette façon, les besoins en mémoire du compositeur seront réduits.

Cependant, cette méthode en elle-même est très gênante et le taux de réussite est inquiétant, alors ne l'utilisez pas si vous le pouvez.

Enfin, permettez-moi de partager avec vous une méthode pour déverrouiller temporairement la limite de mémoire de composer sans modifier le fichier de configuration php.ini :

php -d memory_limit=-1 /usr/local/bin/composer require/isntall/update
Copier après la connexion

ou :

php -d memory_limit=-1 `which composer` require/isntall/update
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:daweibro
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal