事情起因:在本地一个基于docker的测试环境下调用验证码失败报错,错误如下:
PHP Fatal error: Call to undefined function imagettfbbox()
原有的镜像没有GD库,安装后正常。
DockerFile:
FROM php:5.6-fpm-alpine
ENV TIMEZONE Asia/Shanghai
ENV PHP_MEMORY_LIMIT 512M
ENV MAX_UPLOAD 50M
ENV PHP_MAX_FILE_UPLOAD 200
ENV PHP_MAX_POST 100M
ADD ./redis /usr/src/php/ext/redis
RUN apk --update add tzdata \
libjpeg-turbo-dev \
libpng-dev \
freetype-dev \
&& cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr --enable-gd-native-ttf --with-jpeg-dir=/usr \
&& docker-php-ext-install redis mysqli gd pdo_mysql redis opcache zip
RUN mkdir /www \
&& apk del tzdata curl \
&& rm -rf /var/cache/apk/*
网友评论