J'essaie d'ajouter HWIOAuthBundle à mon projet en exécutant la commande ci-dessous.
composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
HWIOAuthBundle github: https://github.com/hwi/HWIOAuthBundle
Lorsque j'essaie d'exécuter composer, il me faut l'erreur de mémoire insuffisante.
Utilisation de la version ^0.6.0@dev pour hwi/oauth-bundle Utilisation de la version ^1.2@dev pour php-http/guzzle6-adapter Utiliser la version ^1.10@dev pour php-http/httplug-bundle ./composer.json a été mis à jour Chargement référentiels composer avec informations sur le paquet Mise à jour des dépendances (y compris require-dev)
Erreur irrécupérable PHP: la taille de mémoire autorisée de 1610612736 octets est épuisée (essayé d'allouer 67108864 octets) dans phar: ///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php à la ligne 220
Erreur fatale: Une taille de mémoire autorisée de 1610612736 octets a été épuisée (tenté d'allouer 67108864 octets) dans phar: ///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php à la ligne 220
J'ai essayé de régler le memory_limit à 2G dans mon fichier php.ini mais je n'ai pas fonctionné. J'ai trouvé mon php.ini en exécutant php -i | grep php.ini
Pour obtenir la valeur actuelle memory_limit, exécutez:
php -r "echo ini_get('memory_limit').PHP_EOL;"
Essayez d'augmenter la limite dans votre fichier php.ini
(par exemple, /etc/php5/cli/php.ini
pour les systèmes de type Debian):
; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1
Ou, vous pouvez augmenter la limite avec un argument de ligne de commande:
php -d memory_limit=-1 composer.phar require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
Pour obtenir l'emplacement des fichiers php.ini chargés, essayez:
php --ini
Récemment, il a été identifié que Composer consomme beaucoup de temps processeur et de mémoire pour les packages contenant de nombreuses balises historiques. Voir compositeur/compositeur # 7577
Une solution à ce problème consiste à utiliser symfony/flex
ou https://github.com/rubenrua/symfony-clean-tags-composer-plugin
composer global require rubenrua/symfony-clean-tags-composer-plugin
Il suffit de définir le memory_limit
spécifiant l’itinéraire complet de votre fichier composer.phar et de le mettre à jour, dans mon cas avec la commande:
php -d memory_limit=-1 C:/wamp64/composer.phar update
Voici un autre moyen de résoudre ce problème sous Windows si vous utilisez Wampserver. En effet au niveau de wampserver, il existe deuxphp.inifichiers, celui de PHP, que l’on peut trouver à l’emplacement C:\wamp64\bin\php\phpx.xx\php .ini et celui d’Apache, qui peut être trouvé à l’emplacement C:\wamp64\bin\Apache\apachex.xx\bin\php.ini . Ces deux fichiers ont le paramètre memory_limit. Donc, pour être sûr de résoudre ce problème, il est préférable de définir le paramètrememory_limit = -1dans les deux fichiers à la fois.