php图片函数失效怎么办

php图片函数失效是因为没有安装freetype的支持,其解决办法:首先打开相应的文件;然后把freetype的支持安装上;最后重启下PHP即可。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

使用imagettftext()函数执行失效的原因排查

登陆使用到验证码死活加载不出来,排查之后发现imagettftext函数执行失败。该函数作用是把文字写入图片当中,常用于做验证码图片。使用该函数需要安装GD库,但是安装之后依然不能使用,报以下错误:

PHP Fatal error: Call to undefined function imagettftext()

原因是由于安装GD库的时候没有安装freetype的支持。freetype不是一个独立的拓展,是依附在GD库上面的一个拓展而已。所以编译的时候要把freetype的支持也安装上。

由于我使用的环境是docker搭建的,故只贴出docker的安装代码

FROM php:fpm 
RUN apt-get update && apt-get install -y 
    libfreetype6-dev 
        libmcrypt-dev 
        libpng12-dev 
        libjpeg-dev 
        libpng-dev
    && docker-php-ext-install iconv mcrypt 
    && docker-php-ext-configure gd 
        --enable-gd-native-ttf 
        --with-freetype-dir=/usr/include/freetype2 
        --with-png-dir=/usr/include 
        --with-jpeg-dir=/usr/include 
    && docker-php-ext-install gd 
    && docker-php-ext-install mbstring 
    && docker-php-ext-enable gd

重启下PHP。OK,完美解决。

【推荐学习:PHP视频教程】

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php图片函数失效怎么办