Compositeur de la mise à Jour a échoué de mémoire
J'ai eu cette erreur lors de l'exécution de composer.phar update
sur ma VM:
PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 144115188075867549 octets) phar:///bin/composer.phar/src/Composer/Util/RemoteFilesystem.php sur la ligne 179
La composer.json
, si nécessaire:
{
"description" : "The CodeIgniter framework",
"name" : "codeigniter/framework",
"license": "MIT",
"require": {
"php": ">=5.2.4",
"videlalvaro/php-amqplib": "2.5.*"
},
"require-dev": {
"mikey179/vfsStream": "1.1.*",
"videlalvaro/php-amqplib": "2.5.*"
}
}
La VM récemment récupéré à partir d'un secteur de disque défectueux problème, et le gars de l'exécution de la VM a dit que la machine virtuelle a été déplacé vers un nouveau disque. Il y a seulement Java, PHP, httpd, postgre, rabbitmq et le site lui-même, dans ma VM, et déjà, elle a parfaitement fonctionné pendant environ 4 mois avant de ce qui s'est passé. Je suis à l'aide de PHP à l'article 5.6.11. Quelqu'un peut-il aider s'il vous plaît?
memory_limit
existe parce que 144115188075867549 est exactement 128 pétaoctets si j'ai fait le calcul à droite...J'ai essayé les paramètres de moi-même et tout s'est bien passé. Pourriez-vous essayer de l'essuyer la totalité de votre
vendor
répertoire et exécuter de nouveau la commande?droit maintenant, je ne peux pas vraiment accéder à la VM depuis c'est un bureau de VM et je ne peux pas y accéder depuis l'extérieur de l'office. je vais essayer votre suggestion et de mettre à jour le résultat lundi, probablement. merci 🙂
yep, ça marche 🙂 merci beaucoup
OriginalL'auteur Aldibe | 2015-10-23
Vous devez vous connecter pour publier un commentaire.
Vérifier la Compositeur de dépannage wiki, en particulier la limite de la mémoire des erreurs de la section.
Par exemple, en exécutant le compositeur comme ceci:
Je n'obtiens pas d'erreur de plus. Il est donc probablement à un manque de mémoire, problème qui peut être résolu en ligne, sans modifier vos paramètres par défaut pour la configuration de PHP.
Ce que la commande ci-dessus n'est que le PHP CLI limite de mémoire "illimité" (ie. -1) et puis il exécute la ligne
composer update
commande.Veuillez noter que, au lieu de "qui compositeur" vous devriez probablement utiliser le chemin réel de votre
composer.phar
script PHP. Lewhich composer
écrit inline (comme dans mon exemple ci-dessus) sera inline résolu à votrecomposer.phar
chemin d'accès complet (vous pouvez utiliser quelle que soit la forme que vous voulez).cela m'a permis de contourner cette erreur de mémoire et de mise à niveau, merci 🙂
doit être du php -d memory_limit=-1
which composer update
OriginalL'auteur Eugen Mihailescu
La seule chose que résoudre mon problème était de faire ceci:
REF: COMPOSITEUR DE DÉPANNAGE
Merci, dans mon cas, le compositeur n'a pas réussi à 1,7 GO de RAM ... ce qui sur terre est cet outil? AFAIS c'est une très mauvaise adoption d'un outil comme mnp pour PHP ...
Essayez d'installer Symfony avec PHP7.2 ... 1 GO de swap n'était même pas suffisant pour obtenir symfony/flex installé en tant que premier de la dépendance à être installé ... mnp est utilisé dans le même programme d'installation de l'établissement d'un environnement de dev pour la construction d'une application cliente, donc l'extraction des dizaines de milliers de fichiers à partir de 1500 paquets w/o jamais se plaindre d'un manque de RAM ... compositeur/PHP s'affiche plus et de plus inutile pour moi.
OriginalL'auteur katiak
Résolu par la suppression de l'ensemble du vendeur dossier, et en faisant le compositeur de la mise à jour, et ça marche... en quelque sorte. Je ne comprends même pas :v
composer.lock
fichier.A également travaillé pour moi. AUCUNE idée de pourquoi.
OriginalL'auteur Aldibe
De mon expérience, de la mémoire des erreurs de compositeur signifie généralement c'est de passer trop de mémoire à la recherche pour les bonnes combinaisons de paquets à installer, surtout la version contraintes ne sont pas assez spécifiques. Par exemple, ^5.2.4 correspond à 5,3 à 5.3.29, 5.4 5.4.45, etc. Pour chaque version et permutation, le compositeur a pour obtenir les dépendances du paquet pour vérifier si toutes les contraintes sont respectées. C'est généralement lorsque la consommation de mémoire devient énorme.
Une fois que les versions ont été compris, la phase d'installation utilise beaucoup moins de mémoire. L'résolu versions pour chaque colis sont également stockés dans un compositeur.fichier de verrouillage de façon à ce que la permutation est installé, peut être répliqué dans d'autres environnements. Et c'est la solution à votre problème: exécuter compositeur de mise à jour dans votre machine de dev (qui devrait avoir assez de mémoire), de déployer la mise à jour du compositeur.de verrouillage, et d'exécuter compositeur installer sur le serveur.
Compositeur installer toujours de référence existants compositeur.de verrouillage pour les versions à installer pour chaque paquet, et donc rarement courir dans des problèmes de mémoire.
Pour une référence sur la façon d'exprimer version contraintes compositeur.json, découvrez https://getcomposer.org/doc/articles/versions.md
OriginalL'auteur squall3d
C'est un problème de mémoire, pas un problème de stockage.
Vous atteignez votre limite mémoire de PHP.
Éditer /etc/php.ini et augmenter la limite de mémoire ( memory_limit = 128M remplacer avec memory_limit = 256M )
Je vous suggère de regarder pour la raison que le compositeur utilise une grande quantité de mémoire , et de trouver des moyens de réduire votre PHP l'utilisation de la mémoire :
C'est le problème que vous rencontrez : https://github.com/composer/composer/issues/1898
Regardez la question que j'ai lié à.. semble assez commun .. certains ont dû augmenter la consommation de mémoire de 1 GO... Les conseils il y a mise à jour de PHP , mise à niveau, Compositeur, et demande plus des versions précises de dépendance ( 1.1.x au lieu de 1.x ) pour réduire la quantité de contrôles requis )
p.s. ... cliquez sur le petit V à côté de la réponse si il résolu votre problème (:
je suppose que je vais essayer de regarder dans le deuxième et le troisième point :v et bien, le problème n'est pas encore résolu...
La réduction la plus importante dans l'utilisation de la mémoire serait probablement de supprimer les inutiles compositeur dépendances et demander plus de versions spécifiques -- essayer ça. Et essayez d'augmenter la mémoire de max 512m temporairement pour l'instant.
OriginalL'auteur DannyZB
Dans mon cas, j'ai été confronté à cette erreur, en raison de l'exécution de
composer install
à l'intérieur de vagrant box. En l'exécutant à l'intérieur de mon ordinateur hôte n'a pas causé le problème.OriginalL'auteur SiteTester
Mémoire de limiter les erreurs
Compositeur peut parfois échouer sur certaines commandes avec ce message:
Dans ce cas, le PHP memory_limit devrait être augmenté.
Pour obtenir le courant memory_limit valeur, exécutez:
Essayez d'augmenter la limite dans votre php.ini fichier (ex. /etc/php5/cli/php.ini pour Debian-like) pour les systèmes d':
Compositeur respecte aussi une limite de mémoire définie par l' COMPOSER_MEMORY_LIMIT variable d'environnement:
Ou, vous pouvez augmenter la limite avec un argument de ligne de commande:
Ce problème peut également se produire sur cPanel cas, lorsque l'enveloppe de la fourche à la bombe de protection est activé. Pour plus d'informations, voir la la documentation de la fourche à la bombe sur la fonction cPanel site.
Se charge de php.les fichiers ini emplacement essayer:
Source : (Compositeur docs)
OriginalL'auteur chebaby
sudo php -d memory_limit=-1 bin/magento setup:di:compile
OriginalL'auteur Ghisoi Ioan