簡體   English   中英

Laravel 風帆安裝錯誤 PHP 版本

[英]Laravel Sail installing wrong PHP version

我不明白為什么 Sail 安裝 PHP 8.1 而不是 8.0。 它暫時破壞了我的應用程序。

這是 docker-compose.yml:

# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./docker/8.0
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.0/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
            - redis
    
...


這是 Docker 文件: https://github.com/laravel/sail/blob/1.x/runtimes/8.0/Dockerfile

我已經多次重建圖像,但我仍然得到這個:

sail@c5f380167b79:/var/www/html$ php -v
PHP 8.1.2 (cli) (built: Jan 24 2022 10:42:51) (NTS)

它有助於添加這一行: RUN update-alternatives --set php /usr/bin/php8.0

https://github.com/laravel/sail/commit/dbe4a908d254d91f99ed89047c9eec4bae8973b0

請查看說明如何設置正確的 php 版本的 [文檔][1],然后重建sai 容器:

Sail 目前支持通過 PHP 8.1、PHP 8.0 或 PHP 7.4 為您的應用程序提供服務。 Sail 使用的默認 PHP 版本目前是 PHP 8.1。 要更改用於為您的應用程序提供服務的 PHP 版本,您應該在應用程序的 docker-compose.yml 文件中更新 laravel.test 容器的構建定義:

PHP 8.1

上下文:./vendor/laravel/sail/runtimes/8.1

PHP 8.0

上下文:./vendor/laravel/sail/runtimes/8.0

PHP 7.4

上下文:./vendor/laravel/sail/runtimes/7.4

此外,您可能希望更新映像名稱以反映您的應用程序正在使用的 PHP 的版本。 此選項也在應用程序的 docker-compose.yml 文件中定義:

圖片:sails-8.1/app

更新應用程序的 docker-compose.yml 文件后,您應該重建容器映像:

帆構建--無緩存

揚帆起航

[1]:https://laravel.com/docs/9.x/sail#sail-php-versions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM