PHP-FPM Docker 컨테이너에서 프로젝트를 실행하고 있습니다(구성 파일 세부 정보는 아래 참조). 컨테이너를 빌드하고 Composer를 실행하려고 하면 PHP 확장이 누락되었다는 오류가 발생합니다. 그러나 내 빌드 파일에는 이러한 확장이 포함되어 있다고 생각합니다(아래 docker/php-fpm/Dockerfile
참조).
컨테이너는 기본 버전으로 php8.2를 사용하여 빌드된 것으로 나타났습니다. 기본 버전을 다시 php8.1로 설정하기 위해 심볼릭 링크를 변경할 수 있었지만 이것이 올바른 해결책은 아닌 것 같습니다. 누구든지 더 나은 솔루션을 제안할 수 있습니까?
컨테이너가 8.2를 실행 중인지 어떻게 알 수 있나요?
컨테이너 내부에서 php --version
를 실행하면 다음을 얻습니다.
그런 다음 which php
나에게 다음을 제공했습니다:
나는 /etc/alternatives
에 링크된 PHP 바이너리에 대한 심볼릭 링크를 따라갔습니다:
이건 제겐 맞지 않는 것 같아요. 8.1 버전에 다시 연결할 수 있었고 이제 모든 것이 제대로 실행되는 것 같습니다. 하지만 컨테이너를 다시 빌드하면 어떻게 되나요?
내 파일 세부정보:
docker-compose.yml
docker-compose.override.yml
docker/php-fpm/Dockerfile
이 문제는 내가 로드하고 있던 확장 프로그램으로 인해 발생한 것으로 밝혀졌습니다. docker/php-fpm/Dockerfile에 php-xdebug를 설치하여 컨테이너가 PHP8.2를 로드하게 했습니다
버전 8.1
php8.1-xdebug
을 지정하면 문제가 해결되었습니다.GitHub에 대한 내 질문에 응답해 주신 luispabon에게 감사드립니다. 그는 그것이 이미지에 문제가 있는 것이 틀림없다고 생각했습니다. https://github.com/phpdocker-io/base-images/issues/62