Docker 中的 PHP 8.2 GD 扩展:Alpine 上的 JPEG 和 FreeType 未正确配置

问题描述 投票:0回答:1

我正在使用 Alpine 作为基础映像将 Docker 设置从 PHP 8.1 升级到 PHP 8.2。在 PHP 8.1 中,我使用以下设置成功配置了具有 JPEG 和 FreeType 支持的 GD 扩展:

RUN apk add --virtual build-dependencies --no-cache ${PHPIZE_DEPS} \
        libjpeg-turbo-dev \
        freetype-dev \
        libpng-dev \
    && apk add --no-cache \
        libjpeg-turbo \
        freetype \
        libpng \
    && docker-php-ext-configure gd --with-jpeg --with-freetype \
    && docker-php-ext-install -j$(nproc) gd \
    && apk del build-dependencies

这在 PHP 8.1 中完美运行。然而,在 PHP 8.2 中,安装了 GD 扩展,但 gd_info() 显示不支持 JPEG 或 FreeType。

我尝试调整 docker-php-ext-configure 参数但没有成功。 PHP 8.2 中 GD 的配置方式是否发生了变化,或者与 Alpine 的库存在兼容性问题?有什么建议可以解决这个问题吗?

php docker gd alpine-linux
1个回答
0
投票

我尝试调整 docker-php-ext-configure 参数但没有成功。

当然我们在这里无能为力,对吧?

PHP 8.2 中 GD 的配置方式是否发生了变化,或者与 Alpine 的库存在兼容性问题?

显然版本号的配置已经改变。 PHP 的次要版本是主要版本。

此外,您的容器配置显然存在兼容性问题。所以对问题的整个条件明确是肯定的。

注意认为其他人没有。再说一次,看起来我们在这里也无能为力,对吧?

有什么建议可以解决这个问题吗?

由于其他人无法重现,因此很难从您问题中的信息判断如何解决此问题。

我们通常会将构建置于版本控制之下以管理配置,然后构建并测试直到绿色。

这通常是最简单的方法,从头开始构建指令并练习 TCR(比较 如何练习 TCR(测试 && 提交 || 恢复)减少批量大小 (infoq.com))。

© www.soinside.com 2019 - 2024. All rights reserved.