찾다

 >  Q&A  >  본문

PHP 버전 8.1로 롤백하는 방법: Docker phpdockerio/php:8.1-fpm 빌드는 PHP 버전 8.2를 사용합니다.

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

으아아아


P粉757640504P粉757640504418일 전841

모든 응답(1)나는 대답할 것이다

  • P粉418854048

    P粉4188540482023-11-06 09:14:25

    이 문제는 내가 로드하고 있던 확장 프로그램으로 인해 발생한 것으로 밝혀졌습니다. docker/php-fpm/Dockerfile에 php-xdebug를 설치하여 컨테이너가 PHP8.2를 로드하게 했습니다

    버전 8.1php8.1-xdebug을 지정하면 문제가 해결되었습니다.

    GitHub에 대한 내 질문에 응답해 주신 luispabon에게 감사드립니다. 그는 그것이 이미지에 문제가 있는 것이 틀림없다고 생각했습니다. https://github.com/phpdocker-io/base-images/issues/62

    회신하다
    0
  • 취소회신하다