首頁 >後端開發 >PHP問題 >php圖片函數失效怎麼辦

php圖片函數失效怎麼辦

藏色散人
藏色散人原創
2021-03-29 10:08:401889瀏覽

php圖片函數失效是因為沒有安裝freetype的支持,其解決方法:先打開對應的檔案;然後把freetype的支援安裝上;最後重啟下PHP即可。

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影片教學

以上是php圖片函數失效怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn