使用 LibJPEG、FreeType 和 LibPNG 在 PHP 中启用 GD 库

举报
Tiamo_T 发表于 2022/08/11 08:37:16 2022/08/11
【摘要】 在 PHP 中,您可以使用 GD 库来操作图像文件。它支持多种格式,包括 GIF、PNG、JPEG 等。您可以使用 LibGD 库将图像直接从应用程序流式传输到浏览器。本教程解释了如何在 PHP 中启用 GD 功能。下载 LibJPEG 库首先,从管网里面下载 LibJPG 文件。或者,您可以使用下面的 wget 直接下载。cd /usr/savewget http://www.ijg.or...

在 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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。