使用 LibJPEG、FreeType 和 LibPNG 在 PHP 中启用 GD 库
在 PHP 中,您可以使用 GD 库来操作图像文件。
它支持多种格式,包括 GIF、PNG、JPEG 等。您可以使用 LibGD 库将图像直接从应用程序流式传输到浏览器。
本教程解释了如何在 PHP 中启用 GD 功能。
下载 LibJPEG 库
首先,从管网里面下载 LibJPG 文件。或者,您可以使用下面的 wget 直接下载。
cd /usr/save
wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
安装 LibJPEG 库
下载后,解压缩存档并安装,如下所示。
tar xvfz jpegsrc.v9.tar.gz
cd jpeg-9
./configure
make
make install
这会将 jpeg 库安装在默认的 /usr/local/lib/ 位置,如下所示。
# ls /usr/local/lib/*jpeg*
/usr/local/lib/libjpeg.a
/usr/local/lib/libjpeg.la*
/usr/local/lib/libjpeg.so -> libjpeg.so.9.0.0*
/usr/local/lib/libjpeg.so.9 -> libjpeg.so.9.0.0*
/usr/local/lib/libjpeg.so.9.0.0*
下载 FreeType 库
从这里下载 freetype 库。或者,您可以使用可以使用下面的 wget 直接下载。
cd /usr/save
wget http://iweb.dl.sourceforge.net/project/freetype/freetype2/2.5.0/freetype-2.5.0.1.tar.bz2
安装 FreeType 库
下载后,解压缩存档缩存档缩存档并安装,如下所示。
tar xvfj freetype-2.5.0.1.tar.bz2
cd freetype-2.5.0.1/
./configure --without-png
make
make install
在安装freetype时,如果你没有像上图那样在./configure中指定without-pngwithout-pngwithout-png标志,你可能会在./configure中得到如下错误
/usr/include/libpng12/pngconf.h:336: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
/usr/include/libpng12/pngconf.h:337: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'include'
make: *** [/usr/src/freetype-2.5.0.1/objs/sfnt.lo] Error 1
安装 LibPNG
在大多数情况下,您的系统可能已经可能已经安装了 LibPNG 库,如下所示。
# rpm -qa | egrep 'jpg|png'
libpng-devel-1.2.10-7.1.el5_0.1
libpng-1.2.10-7.1.el5_0.1
但是,如果如果您没有,请从网络上下载并安装 LibPNG 。
编译 PHP
现在,如前所述,从源代码下载并安装 PHP 。但是,这一次,请确保将以下参数传递给 PHP 安装中的 ./configure。
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql \
--with-gd \
--with-jpeg-dir \
--enable-gd-native-ttf \
--with-freetype-dir \
make
make install
验证 GD 在 PHP 中是否启用
现在,使用 phpinfo() 创建一个测试 php 页面,并从浏览器中查看它。正如您在下面看到的,您会注意到它启用了 LibGD 和相关库。
GD Support,GD Version,FreeType Support,FreeType Linkage,FreeType Version,GIF Read Support,GIF Create Support,JPEG Support,
LibJPEG Version,PNG Support,LibPNG Version,WBMP Support,XBM Support
- 点赞
- 收藏
- 关注作者
评论(0)