PHP Fatal error: Call to undefined function imagettftext()

后端 未结 5 1744
感动是毒
感动是毒 2020-12-05 09:58

Why am I getting the error PHP Fatal error: Call to undefined function imagettftext() on line 29?



        
相关标签:
5条回答
  • 2020-12-05 10:11

    For a Docker container with an Apache 7.3 , the following is working for me:

    FROM php:7.3.10-apache
    
    RUN apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev \
      && docker-php-ext-configure gd \
         --with-freetype-dir=/usr/include/freetype2 \
         --with-png-dir=/usr/include \
         --with-jpeg-dir=/usr/include \
      && docker-php-ext-install gd
    

    It's basically a cleaned up version as provided by Alfred Huang - without mcrypt and mbstring.

    0 讨论(0)
  • 2020-12-05 10:11

    For a Docker container with PHP 7.4, use these commands to install the extension:

    docker-php-ext-configure gd --with-freetype
    docker-php-ext-install gd
    

    Using the previous approach results in:

    configure: error: unrecognized options: --with-freetype-dir
    

    Relevant comment.

    0 讨论(0)
  • 2020-12-05 10:25

    Just recompile extension gd.so, under folder php/ext/gd

    ./configure --with-php-config=/usr/local/php5/bin/php-config --with-freetype-dir=/usr/ --enable-gd-native-ttf

    0 讨论(0)
  • 2020-12-05 10:32

    I solve the same issue on my docker php:7-fpm enviroment, and I post the solution here:


    If using Dockerfile to setup the enviroment

    # more Dockerfile  
    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
    

    If want to add the FreeType module on an exist container:

    # on docker host machine
    docker exec -it $FPM_CONTAINER bash
    
    >>>>
    
    # inside the container
    apt-get install -y \
            libfreetype6-dev \
            libmcrypt-dev \
            libpng12-dev \
            libjpeg-dev \
            libpng-dev
    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
    
    exit
    
    <<<<
    
    docker restart $FPM_CONTAINER
    
    0 讨论(0)
  • 2020-12-05 10:34

    According to the PHP manual entry for imagettftext():

    This function requires both the GD library and the » FreeType library.

    You must be missing one or both of the required libraries in your PHP build.

    0 讨论(0)
提交回复
热议问题