本片文章主要分享給大家關於PHP GD庫加入freetype拓展的方法,有需要的朋友可以參考一下
背景:業務需求要用到imagefttext 函數,發現GD庫一開始安裝時沒有加入FreeType
linux版本centos 6.6
安裝流程(由於伺服器為分散式內網伺服器,無法使用yum安裝,以下皆為下載資源包後的編譯安裝):
安裝freetype
解壓縮freetype-2.3.9.tar.gz
編譯安裝
./configure --enable-static --enable-shared (沒有指定prefix, .h檔案預設安裝到/usr/local/include, .a|.so檔案預設安裝到/usr/local/lib內其他資源包的安裝如果沒有指定目錄也是一樣到這個位置)
make && make install
確認freetype 安裝成功後重新編譯安裝GD函式庫,加入freetype 支援
安裝gd函式庫,版本2.0.35
由於之前有安裝記錄,建議先make clean ,否則可能導致安裝失敗
./configure --enable-shared --with-jpeg=/usr/local/include/ --with-freetype=/usr /local/ --with-png=/usr/local/include/(這裡要注意的是--with-freetype=/usr/local/的路徑一開始寫的是/usr/local/lib,結果一直引入freetype失敗,估計因為頭檔不在這個目錄內,改為上一層目錄後引入成功)
確認Support for Freetype 2.x library: yes
make && make install
確認安裝成功後重新編譯安裝PHP的gd拓展
php版本5.5.38
單獨安裝gd拓展模組需要cd 到php-5.5.38/ext/gd
執行phpize 產生編譯檔,如果系統沒有引進phpize,這個檔在PHP安裝目錄下的bin中
在這裡一定要先執行make clean,這次安裝了8台伺服器,沒有先執行make clean的100%沒有安裝成功,都沒有加入freetype support
#./configure --with-php-config=/opt/php5.5.38/bin/php-config --with -jpeg-dir --with-png-dir --with-freetype-dir --with-zlib-dir --with-gd
確認freetype 2 在編譯中已被加入
make && make install
確認新產生的.so檔案是否跟php.ini中原來引入的路徑相同,如果不同需要修改php.ini 中的extension
安裝成功後重啟php-fpm
ps axu |grep php |grep -v 'grep'|awk '{print $2}'|xargs kill -9
/php5.5.38/sbin/php-fpm
重啟成功後查看phpinfo中的gd是否包含
#
FreeType Support enabled
FreeType Linkage with free .9
finished
##finished
以上是PHP GD函式庫加入freetype拓展的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!