3

我看到一些帖子让 Imagick 使用来自 Imagick 存储库的提交的 Docker 映像在 php 8 上工作。Imagick 没有正式准备好 php 8,因为它没有通过其他测试,但可以在 php 8 上正常工作。

需要一个指针来让它在我的本地工作,然后到 Laravel Vapor。这意味着在 Dockerfile 中工作,但docker-php-ext-install在运行时找不到sail build

更新:这适用于蒸汽。staging.dockerfile 应该是这样的:

FROM laravelphp/vapor:php80

ARG IMAGICK_LAST_COMMIT='448c1cd0d58ba2838b9b6dff71c9b7e70a401b90'
RUN  mkdir -p /usr/src/php/ext/imagick \
    && curl -fsSL https://github.com/Imagick/imagick/archive/${IMAGICK_LAST_COMMIT}.tar.gz | tar xvz -C /usr/src/php/ext/imagick --strip 1 \
    && sed -i s/'#define PHP_IMAGICK_VERSION    "@PACKAGE_VERSION@"'/'#define PHP_IMAGICK_VERSION    "3.4.5rc"'/ /usr/src/php/ext/imagick/php_imagick.h \
    && docker-php-ext-configure imagick \
    && docker-php-ext-install imagick 

COPY . /var/task

所以我仍然遇到的问题是将它带到我的本地。使用风帆构建

4

1 回答 1

5

Imagick 现在可通过 pecl 用于 PHP8。 http://pecl.php.net/package/imagick/3.5.0

使用官方 php alpine,一个简单的设置如下所示:

FROM php:8-fpm-alpine

RUN apk add --no-cache ${PHPIZE_DEPS} imagemagick imagemagick-dev

RUN pecl install -o -f imagick\
    &&  docker-php-ext-enable imagick

RUN apk del --no-cache ${PHPIZE_DEPS}
于 2021-06-29T08:04:25.093 回答