최근 서버 환경 배포 시 Composer 버전의 하위호환으로 인해 발생하는 문제를 기록해 주시기 바랍니다.
문제 설명
백그라운드 Api 애플리케이션은 ThinkPHP6.0
의 다중 애플리케이션 모드를 사용하여 개발되었습니다. 처음 배포할 때 항상 컨트롤러를 찾을 수 없다는 메시지가 나타납니다. ThinkPHP6.0
的多应用模式开发的,起初部署时,总是提示找不到控制器。
当时就比较郁闷,怎么会找不到控制器呢?这个异常通常只会在没有开启多应用模式时才会出现,可是明明已经开启了多应用模式,也安装了相关扩展(Composer 2.0.x 执行 composer install 没有直接抛出异常)。
正当我百思不得其解时,不经意间看到了我目前所使用的 Composer 版本是 2.0.x
。
回头对比了一下我本地的版本:1.8
2.0.x
라는 것을 알게 되었습니다. 돌아가서 내 로컬 버전인 1.8
과 비교했습니다. Google을 통해 Composer 2.0 시리즈가 최근에 출시되었다는 것을 알게 되었기 때문에 Composer의 이전 버전과의 비호환 때문인지 즉시 생각했습니다.
안녕하세요 여러분, 정말 호환성으로 인한 문제입니다.
Solution
버전이 너무 높아서 발생하는 호환성 문제이므로 버전을 낮추면 해결하기 쉽습니다.