를 실행 composer update
하면 OS는 구성된 경로를 조사하고 해당 이름의 실행 파일을 찾습니다.
실행하는 경우 php composer update
는 composer
문자열이 어떤 경로에서 검색되지 않는 PHP에 매개 변수로 취급됩니다. 실행하려면 전체 경로를 제공해야합니다.
실행 which composer
하면 OS가 컴포저 실행 파일을 찾은 위치를 알려준 다음 PHP 명령에서 전체 경로를 사용하기 만하면됩니다.
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
512MB는 너무 적을 수 있습니다. 사용하는 종속성의 수와 이론적으로 허용하는 다양한 버전 (예 : Symfony를 허용 ~2.3
하면 Composer가 사용하는 것보다 훨씬 더 많은 가능한 버전을 처리하도록합니다. ~2.7
.
또한 프로덕션 컴퓨터에서 Composer를 실행하는 것은 최선의 방법이 아닙니다. Github에 대한 액세스 권한이 있어야하고, 액세스 자격 증명을 제공하고, VCS 도구가 설치되어 있어야하며, 업데이트 중에 원격 호스팅 서버 중 하나가 오프라인 상태 인 경우 사이트를 쉽게 중단 할 수 있습니다. 모든 준비를 수행 한 다음 모든 파일을 프로덕션 서버로 이동하는 배포 시스템에서 Composer를 사용하는 것이 좋습니다.
최신 정보
이제 2020 년이되었고 Composer가 메모리를 관리하는 방식이 상당히 변경되었습니다. 가장 중요한 것은 제한이 너무 낮게 설정된 경우 Composer가 자체적으로 메모리 제한을 증가 시킨다는 것입니다. 그러나 이것은 메모리가 너무 적은 컴퓨터에서 메모리 부족 문제를 즉시 유발합니다. 와 같은 환경 변수를 설정하여 Composer가 더 적은 메모리를 사용하도록 할 수 COMPOSER_MEMORY_LIMIT=512M
있지만 Composer가 올바르게 작동하기 위해 더 많은 메모리가 필요한 경우 문제가 발생합니다.
내 요점은 사실입니다. 메모리가 너무 적은 컴퓨터에서 Composer를 실행하지 마십시오. 모든 것을 업데이트하려면 잠재적으로 1.5GB의 여유 메모리가 필요합니다.
composer install
에서는 충분합니다. 귀하의 경우 공유 호스팅을 사용하는 동안composer update
작동 하지 않을 것이라고 생각 하므로 유일한 방법은 Digital Ocean, Linode와 같은 VPS 호스팅을 구입하는 것입니다.