Maison >développement back-end >tutoriel php >Comment corriger l'erreur « Taille de mémoire autorisée épuisée » lors de la demande de Composer ?

Comment corriger l'erreur « Taille de mémoire autorisée épuisée » lors de la demande de Composer ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 10:45:13956parcourir

How to Fix

Dépassement de la limite de mémoire lors de l'opération Composer Require : erreur fatale PHP

Lors de l'exécution de composer require, les utilisateurs peuvent rencontrer l'erreur suivante :

PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 67108864 bytes) in .../composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

Cela indique que Composer a manqué de mémoire lors de la tentative de résolution des dépendances. Pour y remédier, plusieurs solutions s'offrent à vous :

1. Augmentez la limite de mémoire dans php.ini

  • Déterminez la limite de mémoire actuelle : php -r "echo ini_get('memory_limit').PHP_EOL;"
  • Modifier php.ini pour augmenter la limite, par exemple :

    memory_limit = -1  // Unlimited
    or
    memory_limit = 2G // 2 Gigabytes

2. Définir la limite de mémoire à l'aide de l'argument de ligne de commande

php -d memory_limit=-1 composer.phar require <package1> <package2> ...

3. Vérifiez les fichiers php.ini chargés

php --ini

4. Définir la variable d'environnement

COMPOSER_MEMORY_LIMIT=-1 composer require <package1> <package2> ...

5. Utilisez composer.phar Flag (Méthode alternative)

composer.phar COMPOSER_MEMORY_LIMIT=-1 require <package1> <package2> ...

6. Autres solutions rapides

  • php composer.phar COMPOSER_MEMORY_LIMIT=-1 require <package1> <package2> ...
  • COMPOSER_MEMORY_LIMIT=-1 composer require <package1> <package2> ...

Lors de l'ajustement de la limite de mémoire, il est recommandé de commencer avec une valeur raisonnable (par exemple, 2G) et de l'augmenter progressivement selon les besoins. Vérifiez également s'il existe des dépendances ou des plugins inutiles susceptibles de consommer une mémoire excessive.

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!

Déclaration:
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