Imagick Docker Alpine Linux php8.2



我正在尝试在alpine linux上安装imagick for php8.2,我真的不明白怎么做。我看到imagick扩展仍在测试中。据我所知,我可以通过指定不同的存储库来安装它。然而,当我这样做时,我得到一个错误:php82-common (no such package):。我找不到php82-common这个包是什么

我的dockerfile如下:

FROM laravelphp/vapor:php82
RUN apk --update add postgresql14-client
# INSTALL COMPOSER
RUN curl -s https://getcomposer.org/installer | php
RUN alias composer='php composer.phar'
# INSTALL PHP EXTENSIONS
RUN apk add php82-pecl-imagick --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
RUN apk --update add imagemagick imagemagick-dev
RUN docker-php-ext-enable imagick
RUN docker-php-ext-install gd
RUN docker-php-ext-install exif
# Place application in Lambda application directory...
COPY . /var/task

Bellow one for me for php:8.2-fpm-alpine

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS imagemagick-dev 
&& pecl install imagick 
&& docker-php-ext-enable imagick 
&& apk del .build-deps

没有找到php82-pecl-imagick包的原因是它从Alpine的testing库升级到community。因此,community存储库应该传递给apk的--repository选项:

RUN apk add php82-pecl-imagick --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community

另外,您缺少用于安装Imagick PHP扩展的pecl命令:

RUN pecl install imagick

这是修复的Dockerfile,构建成功:

FROM laravelphp/vapor:php82
RUN apk --update add postgresql14-client
# INSTALL COMPOSER
RUN curl -s https://getcomposer.org/installer | php
RUN alias composer='php composer.phar'
# INSTALL PHP EXTENSIONS
RUN apk add php82-pecl-imagick --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk --update add imagemagick imagemagick-dev
RUN pecl install imagick
RUN docker-php-ext-enable imagick
RUN docker-php-ext-install gd
RUN docker-php-ext-install exif
# Place application in Lambda application directory...
COPY . /var/task

作为参考,您可以在这里找到映像构建输出。

在Docker容器中轻松安装PHP扩展:特殊插件

也不要忘记在你的系统中安装Imagick,在我的例子中是安装Alpine Linux。

完整检查说明Docker文件与Imagick OPCache Memcached和Redis(选择你的插件从官方github页面与表那里,这里所有的插件Wordpress网站为例):

FROM php:fpm-alpine
RUN apk update && apk add imagemagick ghostscript-fonts ghostscript
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions && 
install-php-extensions opcache imagick memcached redis ssh2 sockets bcmath exif intl zip mysqli
COPY php/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
COPY php/php.ini $PHP_INI_DIR/php.ini

它一定工作得很好!一些补充说…创建文件夹'php',并添加一个opcache.ini在你自己的配置。同时添加php.ini,按照自己的方式配置。

相关内容

  • 没有找到相关文章

最新更新