php imagick 错误 - 必须指定图像大小

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

我有一个问题。我有 svg 代码。我需要将其转换为 png。转换时出现错误。在产品服务器上它工作正常(那里没有码头)。现在我正在尝试通过 docker 来完成这一切。

错误

must specify image size `/tmp/magick-pvKVqqZOgZLEImdlmik0Tl8aUFPkNFlM' @ error/mvg.c/ReadMVGImage/186

代码

$imagick = new Imagick();
$imagick->readImageBlob($svg);

Docker文件

FROM composer:2.1 AS composer
FROM php:7.3-fpm as base

RUN apt update && apt install -y --no-install-recommends \
    git \
    openssh-client \
    libzip-dev \
    libpq-dev \
    unzip \
    libpng-dev \
    libjpeg-dev \
    libwebp-dev \
    libmagickwand-dev \
    ffmpeg && \
    rm -r /var/lib/apt/lists/*


# PHP extensions
RUN pecl install pcov
COPY php.ini /usr/local/etc/php/conf.d/40-custom.ini

RUN docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \
    docker-php-ext-configure opcache --enable-opcache && \
    docker-php-ext-install zip pdo_pgsql pdo_mysql mysqli bcmath opcache gd exif && \
    docker-php-ext-enable zip pdo_mysql mysqli opcache gd pdo_pgsql pcov

WORKDIR /var/www/laravel9

ENV PATH="$PATH:/src/vendor/bin"
COPY --from=composer /usr/bin/composer /usr/bin/composer
COPY composer.* ./
RUN pecl install imagick && docker-php-ext-enable imagick


FROM base as prod
COPY . ./
RUN chgrp -R www-data storage bootstrap/cache && chmod -R ug+rwx storage bootstrap/cache \
    && composer dump-autoload --optimize

FROM base as dev
RUN composer install --no-scripts --no-autoloader --no-interaction --dev


COPY . ./
RUN chgrp -R www-data storage bootstrap/cache && chmod -R ug+rwx storage bootstrap/cache \
    && composer dump-autoload --optimize
php laravel docker imagick
© www.soinside.com 2019 - 2024. All rights reserved.