PHP를 7.3 버전으로 업그레이드한 후, Composer 사용 시 아래와 같은 오류를 만날 수 있습니다:
continue targeting switch is equivalent to break. Did you mean to use continue 2?
이 오류는 PHP 7.3 이상에서 continue 키워드의 동작이 변경되었기 때문에 발생합니다.
특히, 오래된 Composer 버전을 사용 중이라면 해당 오류가 발생할 가능성이 높습니다.
---
1. 해결 방법
1.1 Composer 업데이트
가장 간단한 방법은 Composer를 최신 버전으로 업데이트하는 것입니다.
터미널에서 아래 명령어를 실행하세요:
composer self-update
업데이트가 성공하면 문제는 해결됩니다. 하지만, Composer 버전이 오래되어 self-update 명령이 제대로 작동하지 않을 수도 있습니다. 이 경우 Composer를 재설치해야 합니다.
---
1.2 Composer 재설치
- 기존 Composer 제거
먼저, 시스템에 설치된 Composer를 제거합니다:
sudo apt-get remove composer
- Composer 설치 스크립트 다운로드
다음으로 Composer 설치 스크립트를 다운로드합니다:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- 다운로드 파일 무결성 확인
설치 파일의 무결성을 확인하여 안전성을 보장합니다:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
출력 결과:
Installer verified
만약 Installer corrupt 메시지가 출력되면, 설치 파일이 손상된 것이므로 다시 다운로드해야 합니다.
- Composer 설치
설치 스크립트를 실행하여 Composer를 설치합니다:
php composer-setup.php
- 설치 파일 삭제 및 이동
설치가 완료되면 임시 파일을 삭제하고 Composer를 실행 가능한 경로로 이동합니다:
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/bin/composer
- Composer 버전 확인
Composer가 정상적으로 설치되었는지 확인합니다:
composer --version
---
2. 주의 사항
- PHP 버전 확인
Composer는 설치된 PHP 버전에 따라 작동합니다.
터미널에서 php -v 명령을 실행하여 PHP 버전을 확인하고, Composer가 호환되는 PHP 버전에서 실행 중인지 확인하세요. - 권한 문제
Composer를 설치하거나 업데이트할 때 권한 문제가 발생할 수 있습니다. 이런 경우 명령어 앞에 sudo 를 붙여 실행하세요.
---
3. 결론
PHP 7.3 이상에서 발생하는 "continue 2" 오류는 Composer를 최신 버전으로 업데이트하거나 재설치하여 해결할 수 있습니다.
위 단계를 따라 Composer를 최신 상태로 유지하면 오류 없이 안정적으로 Composer를 사용할 수 있습니다.