簡體   English   中英

如何在 Docker 容器中升級 PHP Alpine

[英]How to upgrade PHP Alpine in Docker Container

基本上,我有 laravel 版本 8 和護照版本 10 用於身份驗證。 當我嘗試在 nginx 終端內安裝護照時遇到問題。 php artisan passport:install

錯誤說我的 php 版本是 7.3.26 而 Passport 需要 php 7.4

這是我的 Dockerfile 的樣子:

FROM composer:2 as vendor

COPY . .

RUN composer install \
    --ignore-platform-reqs \
    --no-interaction \
    --no-plugins \
    --no-progress \
    --no-dev \
    --no-scripts \
    --prefer-dist \
    && find /app -type d -exec chmod -R 555 {} ; \
    && find /app -type f -exec chmod -R 444 {} ; \
    && find /app/storage -type d -exec chmod -R 755 {} ; \
    && find /app/storage -type f -exec chmod -R 644 {} ;

RUN composer dump-autoload

FROM existenz/webstack:7.4-codecasts

EXPOSE 80
EXPOSE 443

COPY --from=vendor --chown=php:nginx /app /www

# https://github.com/docker-library/php/issues/240
RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php

RUN apk -U --no-cache add \
    php7 php7-zip php7-json php7-openssl php7-curl \
    php7-zlib php7-xml php7-phar php7-intl php7-dom php7-xmlreader php7-xmlwriter php7-ctype \
    php7-mbstring php7-gd php7-session php7-pdo php7-pdo_mysql php7-tokenizer php7-posix \
    php7-fileinfo php7-opcache php7-cli php7-mcrypt php7-pcntl php7-iconv php7-simplexml

如何將我的 php 版本升級到 7.4,或者最壞的情況下我必須降級 laravel 和護照版本。

您可以使用以下命令安裝它:

FROM php:7.4-fpm-alpine

RUN apk add --update --no-cache libgd libpng-dev libjpeg-turbo-dev freetype-dev

RUN docker-php-ext-install -j$(nproc) gd

ADD php.ini /usr/local/etc/php.ini

或者你可以關注這篇文章

暫無
暫無

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

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