Laravel Sail을 PHP v8.1로 업데이트하는 방법

Laravel Sail을 PHP v8.1로 업데이트하는 방법

2022-10-03 last update

7 minutes reading update sail php laravel
v1.12.0 부터 Laravel Sail에 PHP 8.1 지원이 추가되었습니다. 한편 mysql:8.0 에서 mysql/mysql-server:8.0 Docker 이미지를 this pull request 이미지로 교체했습니다. 이 모든 것을 염두에 두고 Laravel Sail을 PHP 8.1을 사용하도록 최신 버전으로 업데이트합시다.

먼저 Laravel Sail Composer 패키지를 업데이트합니다.

composer update laravel/sail


docker-compose.yml 파일 업데이트



Laravel Sail은 MySQL Docker 이미지를 변경했으므로 이를 사용할지 아니면 이미 가지고 있는 mysql:8.0 이미지를 계속 사용할지 결정할 수 있습니다. 업데이트된 이미지를 계속 사용하지 않기로 결정했다면 방법 1을 따르거나 아래 설명된 대로 방법 2를 따르십시오.

방법 1: PHP 8.1 업데이트 전용



개발 데이터베이스에 귀중한 데이터가 있고 위험을 감수하지 않고 mysql:8.0 Docker 이미지를 계속 사용하려는 경우 또는 PHP 8.1만 사용하려는 경우 docker-compose.yml 파일을 열고 context: ./vendor/laravel/sail/runtimes/8.0 행의 8.0을 8.1로 바꾸십시오. . 또한 image: sail-8.0/app 줄의 8.0을 8.1로 바꿉니다. 따라서 최종 docker-compose.yml 파일은 이와 유사해야 합니다.

version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.1
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.1/app


방법 2: PHP 8.1 + mysql/mysql-server:8.0 이미지 업데이트



개발 데이터베이스에 귀중한 데이터가 없거나 백업 또는 시드를 사용하여 쉽게 재생성할 수 있는 경우 다음 명령을 실행하여 서비스와 함께 전체docker-compose.yml 파일을 다시 생성하십시오. 현재 다음 서비스를 사용할 수 있습니다.
  • mysql
  • pgsql
  • mariadb
  • 레디스
  • memcached
  • meilisearch
  • 미니오
  • 메일호그
  • 셀레늄

  • 그러나 --with를 사용하여 필요한 서비스만 언급하십시오.

    php artisan sail:install --with mysql,mailhog,redis
    


    sail-8.1 Docker 이미지 빌드


    docker-compose.yml 파일을 준비했으면 다음 명령으로 기존 컨테이너를 제거합니다.

    ./vendor/bin/sail down
    

    sail-8.1 이미지를 빌드합니다.

    ./vendor/bin/sail build --no-cache
    


    분리 모드에서 애플리케이션을 시작합니다.

    ./vendor/bin/sail up -d
    


    방법 2를 따랐다면 mysql:8.0 이미지로 생성된 이전 MySQL 볼륨을 사용하려고 하므로 MySQL 컨테이너를 시작하지 못할 수 있습니다. 이러한 상황에서 모든 볼륨과 함께 기존 컨테이너를 제거합니다.

    ./vendor/bin/sail down -v
    


    이제 평소와 같이 응용 프로그램을 시작하십시오.

    ./vendor/bin/sail up -d
    


    다음 명령을 실행하여 업데이트가 성공했는지 확인합니다.

    PHP 버전을 인쇄합니다.

    ./vendor/bin/sail php -v
    
    PHP 8.1.0 (cli) (built: Nov 25 2021 20:22:22) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.1.0, Copyright (c) Zend Technologies
        with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
        with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans
    


    Composer 버전을 인쇄합니다.

    ./vendor/bin/sail composer --version
    
    Composer version 2.1.14 2021-11-30 10:51:43
    


    NodeJS 버전을 인쇄합니다.

    ./vendor/bin/sail node -v
    
    v16.13.1
    


    NPM 버전을 인쇄합니다.

    ./vendor/bin/sail npm -v
    
    8.1.4
    


    더 많은 관련 콘텐츠를 보려면 devtonight.com를 방문하십시오.