[php] 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를 실행하려고 할 때 메모리 부족 오류가 발생합니다.

hwi / oauth-bundle에 ^0.6.0@dev 버전 사용 php-http / guzzle6-adapter에 ^1.2@dev 버전 사용 php-http / httplug-bundle ./composer.json에 ^1.10@dev 버전 사용이 업데이트되었습니다. 패키지 정보와 함께 작성기 저장소로드 종속성 업데이트 (Require-dev 포함)

PHP 치명적인 오류 : phar : ///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver에서 1610612736 바이트의 허용 메모리 크기가 소진되었습니다 (67108864 바이트 할당 시도). 220 라인의 PHP

치명적인 오류 : phar : ///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php에서 허용 된 메모리 크기 1610612736 바이트가 소진되었습니다 (67108864 바이트 할당 시도). 220 행

php.ini 파일에서 memory_limit를 2G로 설정하려고했지만 작동하지 않았습니다. 실행하여 내 php.ini를 찾았습니다.php -i | grep php.ini



답변

현재 memory_limit 값을 얻으려면 다음을 실행하십시오.

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

php.ini파일 의 제한을 늘리십시오 (예 /etc/php5/cli/php.ini: 데비안 계열 시스템의 경우) :

; 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

또 다른 빠른 솔루션 :

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


답변

제 경우에는이 패키지 를 요구하려고 했는데 PHP Fatal error: Allowed memory size of.

이렇게 실행하기 쉬우 며 PHP INI 파일을 업데이트 할 필요가 없습니다.

예: COMPOSER_MEMORY_LIMIT=-1 composer require huddledigital/zendesk-laravel

이것이 누군가를 돕기를 바랍니다.


답변

설명서의 또 다른 해결책 :

Composer는 COMPOSER_MEMORY_LIMIT환경 변수로 정의 된 메모리 제한도 준수 합니다.

COMPOSER_MEMORY_LIMIT=-1 composer.phar <...>

또는 내 경우에는

export COMPOSER_MEMORY_LIMIT=-1
composer <...>


답변

Windows 10에서

이동 C:\ProgramData\ComposerSetup\bin

편집 : 아래와 같이 마지막 줄에 composer.bat추가 memory_limit=-1합니다.

@echo OFF
:: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION
php -d memory_limit=-1 "%~dp0composer.phar" %*

문제 해결됨 😉


답변

이전 답변에 포함되지 않았기 때문에 setphp.ini를 변경하지 않고 Windows에서 수행하는 방법을 알아내는 데 약간의 시간이 걸렸지 만 다음은 저에게 효과적이었습니다.

set COMPOSER_MEMORY_LIMIT=-1
composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle


답변

같은 문제, “memory_limit”와 관련된 어떤 것도 작동하지 않았지만 ..

composer self-update --2

.. 내 문제를 해결했습니다. (업그레이드 : 1.10.17-> 2.0.4)


답변

그냥 설정 memory_limit명령 내 경우에, 당신의 composer.phar 파일 및 업데이트의 전체 경로를 지정 :

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