一、准备工作

使用之前服务器按源码最小化安装完nginx、php-fpm,没有安装gd库,下面介绍下gd库的安装。

gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表、图形、缩略图以及其他图像的处理操作。在安装gd库之前,需要安装libpng、jpegsrc、freetype这三款软件。

安装libpng

libpng软件包包含libpng库,这些库被可以被其它软件用于处理png后缀的图片文件。执行以下命令下载libpng,如下:

wget  http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.32/libpng-1.6.32.tar.gz

继续执行以下命令进行解压、配置安装:

tar -xf libpng-1.6.32.tar.gz

cd libpng-1.6.32

./configure

make

make install

安装成功后显示如下:

安装jpegsrc

jpegsrc软件包包含jpeg库,这些库被可以被其它软件用于处理jpg或jpeg后缀的图片文件。

执行以下命令下载jpegsrc,如下:

wget  http://www.ijg.org/files/jpegsrc.v9a.tar.gz

继续执行以下命令进行解压、配置安装:

tar -xf jpegsrc.v9a.tar.gz

cd jpeg-9a/

./configure

make && make install

安装成功后显示如下:

安装freetype

freetype库是一个完全免费开源的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF等。

执行以下命令下载freeType,如下:

wget  http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.5.5.tar.gz

继续执行以下命令进行解压、配置安装:

tar -xf freetype-2.5.5.tar.gz

cd freetype-2.5.5

./configure

make && make install

二、安装gd

下面进行gd库的编译安装,先进入php源码包的/ext/gd/目录下,如下:

先在该目录下执行/usr/local/bin/phpize,显示如下说明执行成功:

注意:这一步可能出错,如下图:

遇到上述情况,最简单的解决方法执行下面两句命令:

yum -y install m4

yum -y install autoconf

接着再执行/usr/local/bin/phpize就可以了。

phpize命令是根据php的安装位置来决定的,这里的php安装时使用默认安装位置,所以执行命令如上。当需要添加一些模块,但是又不想重新编译php时,就可以使用phpize命令。

接着执行以下命令配置、安装:

./configure  --with-php-config=/usr/local/bin/php-config

make && make install

gd库安装成功后会在/usr/local/lib/php/extensions/no-debug-non-zts-20131226目录下生成gd.so文件,如下:

接着修改下配置文件,修改/usr/local/lib/php.ini文件,在该文件的Dynamic Extensions模块下添加一行extension=gd.so,如下:

如果不知道php.ini文件的位置,我们可以通过php --ini命令查看。

安装配置完成后,检查下gd库是否安装成功,执行命令:/usr/local/bin/php -m |grep gd查看,如下:

可以看到gd模块已经被加载了,现在可以重启nginx和php-fpm,然后再看看gd库是否安装成功,执行命令如下:

/usr/local/nginx/sbin/nginx -s reload

/etc/init.d/php-fpm restart

重启后通过php主页信息能看到gd模块证明已成功。

在/opt/soft/php-5.6.2/ext/目录下,还有其他许多模块,如下,如果要安装其他模块,过程也类似上面gd模块的安装过程。

最新文章

  1. Kotlin开发语言文档(官方文档)-- 目录
  2. Python中的下划线(译文)
  3. 字符集GBK升级UTF8
  4. px和em的区别
  5. 关于linux上pdf阅读器
  6. 五、python使用模块
  7. CSS围住浮动元素的三种方法
  8. Java EE (3) -- Java EE 6 Web Services Developer Certified Expert(1z0-897)
  9. 为图片存储而作——记一次UEditor源码的修改
  10. GIS制图人员的自我修养(2)--制图意识
  11. THUSC2016 游记
  12. 图解Windows下 GIT GUI 使用教程
  13. java JDBC (三) 修改
  14. [leetcode]Interleaving String @ Python
  15. 【Coursera】Seventh Week
  16. 禅道导出数据,excel打开为乱码处理
  17. Object-C中的字符串对象2-可变字符串
  18. 第十七次ScrumMeeting会议
  19. GridLayout 可使容器中的各个组件呈网格状布局
  20. vim中多行注释和多行删除命令

热门文章

  1. F04 我的投资策略
  2. Django项目创建02
  3. Laravel学习笔记(二)
  4. C++ 头文件系列(stdexcept)
  5. CDQ分治与整体二分小结
  6. ES6 函数的扩展1
  7. git stash的用法
  8. Python爬虫通过替换http request header来欺骗浏览器实现登录
  9. python内置函数与匿名函数
  10. Python学习_01_对象