Sam*_*Sam 10 php imagick docker
尝试安装适用于 php 8.1.1 的 imagick。
Dockerfile在我的下面的图片中composer install出现以下错误:
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.
Problem 1
- Root composer.json requires PHP extension ext-imagick ^3.6 but it is missing from your system. Install or enable PHP's imagick extension.
To enable extensions, verify that they are enabled in your .ini files:
-
- /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini
- /usr/local/etc/php/conf.d/docker-php-ext-calendar.ini
- /usr/local/etc/php/conf.d/docker-php-ext-gd.ini
- /usr/local/etc/php/conf.d/docker-php-ext-intl.ini
- /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pdo_pgsql.ini
- /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
- /usr/local/etc/php/conf.d/docker-php-ext-xsl.ini
- /usr/local/etc/php/conf.d/docker-php-ext-zip.ini
Run Code Online (Sandbox Code Playgroud)
我尝试了各种解决方案
apt install php-imagick给出错误:
Package php-imagick is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source
apt install php8.1-imagick没有找到任何包
添加RUN docker-php-ext-install php-imagick或RUN docker-php-ext-install imagick在我的末尾Dockerfile没有找到任何包
Dockerfile
FROM php:8.1.1-fpm
RUN apt-get clean && apt-get update \
&& apt-get install -y --no-install-recommends \
locales \
apt-utils \
git \
libicu-dev \
g++ \
libpng-dev \
libxml2-dev \
libzip-dev \
libonig-dev \
libxslt-dev \
unzip \
libpq-dev \
nodejs \
npm \
wget \
apt-transport-https \
lsb-release \
ca-certificates
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen
RUN curl -sS https://getcomposer.org/installer | php -- \
&& mv composer.phar /usr/local/bin/composer
RUN curl -sS https://get.symfony.com/cli/installer | bash \
&& mv /root/.symfony/bin/symfony /usr/local/bin
RUN docker-php-ext-configure \
intl \
&& docker-php-ext-install \
pdo pdo_mysql pdo_pgsql opcache intl zip calendar dom mbstring gd xsl
RUN pecl install apcu && docker-php-ext-enable apcu
RUN npm install --global yarn
WORKDIR /var/www/app/
RUN apt-get install -y libmagickwand-dev
RUN apt-get install -y imagemagick
RUN pecl install imagick
COPY ./app/composer.json ./
COPY ./app/composer.lock ./
Run Code Online (Sandbox Code Playgroud)
Mar*_*dor 25
要安装ImagickPHP 扩展和库,我们需要修改 Dockerfile。
示例如下,首先我们更新系统源和包,然后获取 PHP 扩展运行所需的包。之后我们用来pecl安装它,最后告诉 docker 在列表中启用它PHP Extensions。
RUN apt-get update; \
apt-get install -y libmagickwand-dev; \
pecl install imagick; \
docker-php-ext-enable imagick;
Run Code Online (Sandbox Code Playgroud)
旁注:如果您是 bash 新手,想知道为什么它没有一堆 RUN 命令而只有一个命令。只是
\将它们链接到下一行。
| 归档时间: |
|
| 查看次数: |
25514 次 |
| 最近记录: |