p_w_picpathttftext和p_w_picpathfttext兩個函數在生成驗證碼或須要向圖片寫入文字時候經常使用,在linux環境下只開啓gd庫是不夠的。php
這兩個函數均須要 FreeType 庫支持,在函數文檔中也能夠找到html
因此當發現調用時報錯提示函數不存在,都是由於編譯時沒有指定freetype庫激活形成的。若是須要則必需從新編譯gd庫並激活freetype支持。linux
freetype庫是三方庫,須要單獨安裝,若是系統中已經安裝則無需安裝bash
查看命令:ide
rpm -ip freetype
或函數
whereis freetype
下載地址: https://www.freetype.org/download.html
ui
最好使用.net域名下的,.org很容易形成超時。spa
這裏以:.net
https://sourceforge.net/projects/freetype/files/freetype2/2.7.1/freetype-2.7.1.tar.gz/download
unix
爲例:
tar -zxf freetype-2.7.1.tar.gz cd freetype-2.7.1/builds/unix ./configure --prefix=/usr/local/freetype/2.7.1 --without-harfbuzz make make install
說明:若是不進入builds/unix目錄下編譯會提示:make: Nothing to be done for `unix'. 固然也沒有什麼影響。
安裝freetype須要包:
external
bzip2
libpng
harfbuzz
能夠使用yum安裝,但harfbuzz在yum中沒有因此須要編譯安裝,而編譯時又須要freetype包,因此能夠不安裝這個包,而後在freetype編譯時增長--without-harfbuzz便可。
安裝好freetype後便可編譯gd庫,官方文檔中也有說明:
因此編譯gd庫須要增長--with-freetype-dir=/usr/local/freetype/2.7.1/ --enable-gd-native-ttf
注意:若是freetype時默認安裝無需指定目錄。
編譯前必定要記得 make clean 清除上次的編譯內容,尤爲是已經編譯安裝過的。
./configure 配置後能夠查看 Configuring extensions 下面是否有相關成功記錄:
而後
make make install
編譯好後則能夠查看phpinfo()
出現這個即安裝成功,能夠使用這兩個函數。