Fix Composer memory limit sur Vagrant

Vous êtes sur Vagrant (Linux) ou sur un serveur web et n’arrivez pas à lancer vos commandes :

  • composer install
  • composer require
  • composer update

Et un joli message apparait :PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>

Alors le petit bout de code suivant est sans doute pour vous. Il s’agit de créer une partition de la RAM sur la machine virtuelle pour allouer de la mémoire supplémentaire. Cette technique est appelée “SWAP” :

Qu’est ce que le swap sur Linux ?

Swap est un espace sur un disque utilisé lorsque la quantité de mémoire RAM physique est pleine. Lorsqu'un système Linux manque de RAM, les pages inactives sont déplacées de la RAM vers l'espace de swap. L'espace d'échange peut prendre la forme d'une partition d'échange dédiée ou d'un fichier d'échange

Corriger le bug Allowed memory size de Composer

On y va ! Dans votre machine ou sur votre serveur tapez dans l’ordre ces commandes :

$ /bin/dd if=/dev/zero of=/var/swap.1 bs=4096k count=1024
Créer un fichier d’une taille de 4Mo contenant uniquement des caractères NULL et nommé « /var/swap.1»
$ chmod 600 /var/swap.1
On assigne les droits du dossier « /var/swap.1» à 600 pour qu’il ne soit pas visible
$ /sbin/mkswap /var/swap.1
Formater cette zone à l’aide de la commande mkswap
$ /sbin/swapon /var/swap.1
Activer la zone de swap à l’aide de la commande swapon
$ COMPOSER_MEMORY_LIMIT=-1 composer require librairie/yours
COMPOSER_MEMORY_LIMIT=-1 est optionnel, ensuite vous n’avez plus qu’à composer !

Auteur : Pierre Viéville

Diplômé d'un D.U.T informatique en 2012, je me suis lancé en freelance durant décembre de cette même année. C'est avec succès que je vous propose aujourd'hui mes services et mon expérience afin de vous accompagner vous, entreprises, associations, indépendants, dans la promotion de votre activité sur le net.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.