php圖片函數失效是因為沒有安裝freetype的支持,其解決方法:先打開對應的檔案;然後把freetype的支援安裝上;最後重啟下PHP即可。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
使用imagettftext()函數執行失效的原因排查
登陸使用到驗證碼死活載入不出來,排查之後發現imagettftext函數執行失敗。此函數作用是把文字寫入圖片當中,常用於做驗證碼圖片。使用函數需要安裝GD函式庫,但安裝之後還是不能使用,報以下錯誤:
原因是由於安裝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中文網其他相關文章!