【发布时间】:2022-12-03 18:39:15
【问题描述】:
那是我的 dockerfile 设置。当我使用 Laravel Dompdf 时,错误将显示“iconv():错误的字符集,不允许从 utf-8' to us-ascii//TRANSLIT 转换”
我已经检查了 PHP ini,iconv 已启用。在我的docker文件中还添加了iconv安装命令。它仍然不起作用。我的 docker 设置有什么解决方案吗?
FROM php:7.3.33-fpm-alpine
# Fix: iconv(): Wrong charset, conversion from UTF-8 to UTF-8//IGNORE is not allowed in Command line code on line 1
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ --allow-untrusted gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
# Install php extensions
RUN apk update \
&& apk add --no-cache libzip-dev libmcrypt libmcrypt-dev zlib-dev \
&& docker-php-ext-install exif zip bcmath mysqli pdo pdo_mysql ctype json
# Install GD extensions
RUN apk add --no-cache freetype libpng libjpeg-turbo freetype-dev libpng-dev libjpeg-turbo-dev && \
docker-php-ext-configure gd \
--with-gd \
--with-freetype-dir=/usr/include/ \
--with-png-dir=/usr/include/ \
--with-jpeg-dir=/usr/include/ && \
NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
docker-php-ext-install -j${NPROC} gd && \
apk del --no-cache freetype-dev libpng-dev libjpeg-turbo-dev
# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
RUN apk --no-cache update \
&& apk --no-cache add make bash g++ zlib-dev libpng-dev \
&& rm -fr /var/cache/apk/*
# Install npm for Laravel Mix
RUN apk add npm
RUN apk add nodejs-lts --update
RUN npm install -g npm
WORKDIR /application
EXPOSE 9000
# Start services
CMD ["php-fpm"]
【问题讨论】:
-
我没有看到安装了
mbstring和 xml 扩展,这可能是你的问题,因为iconv需要安装并启用这些 PHP 扩展。 -
嗨 Jaquarh 我已经尝试运行 RUN apk --no-cache add php7-mbstring php7-iconv,但它仍然不起作用:(
-
你找到解决办法了吗?
-
@ggsuha 不,我解决不了