it-swarm.com.ru

Composer требуется нехватка памяти. PHP Неустранимая ошибка: допустимый объем памяти 1610612736 байт исчерпан

Я пытаюсь добавить HWIOAuthBundle в свой проект, выполнив следующую команду.

composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

HWIOAuthBundle github: https://github.com/hwi/HWIOAuthBundle

Когда я пытаюсь запустить composer Требуется, я получаю ошибку нехватки памяти.

Использование версии ^[email protected] для hwi/oauth-bundle Использование версии ^[email protected] для php-http/guzzle6-adapter Использование версии ^[email protected] для php-http/httplug-bundle ./composer.json был обновлен Загрузка composer репозиториев с информацией о пакете Обновление зависимостей (включая require-dev)

Неустранимая ошибка PHP: допустимый объем памяти 1610612736 байт исчерпан (попытался выделить 67108864 байт) в phar: ///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver. PHP на линии 220

Неустранимая ошибка: допустимый объем памяти 1610612736 байт исчерпан (попытался выделить 67108864 байт) в phar: ///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php на линии 220

Я попытался установить memory_limit на 2G в моем файле php.ini, но не сработало. Я нашел свой php.ini, запустив php -i | grep php.ini

6
Brian Chen

Чтобы получить текущее значение memory_limit, запустите:

php -r "echo ini_get('memory_limit').PHP_EOL;"

Попробуйте увеличить ограничение в своем файле php.ini (например, /etc/php5/cli/php.ini для систем, подобных Debian):

; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1

Или вы можете увеличить лимит с помощью аргумента командной строки:

php -d memory_limit=-1 composer.phar require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

Чтобы загрузить загруженные файлы php.ini, попробуйте: 

php --ini
15
Adam

Недавно было установлено, что Composer потребляет много ресурсов ЦП и памяти в пакетах с большим количеством исторических тегов. Смотрите композитор/композитор # 7577

Обойти эту проблему можно с помощью symfony/flex или https://github.com/rubenrua/symfony-clean-tags-composer-plugin

composer global require rubenrua/symfony-clean-tags-composer-plugin
1
Ruben Gonzalez

Просто установите memory_limit, указав полный маршрут вашего файла composer.phar, и обновите, в моем случае, командой:

php -d memory_limit=-1 C:/wamp64/composer.phar update
1
Aitor Fernandez

Вот еще один способ решить эту проблему под Windows, если вы используете Wampserver. На самом деле, на уровне wampserver есть два файлаphp.ini, которые находятся в каталоге C:\wamp64\bin\php\phpx.xx\php .ini и Apache, который можно найти по адресу C:\wamp64\bin\Apache\apachex.xx\bin\php.ini . Оба этих файла имеют параметр memory_limit. Таким образом, чтобы решить эту проблему, лучше установить параметрmemory_limit = -1в обоих файлах одновременно.

0
Fidèle W. AVI