zoukankan      html  css  js  c++  java
  • 烂泥:centos单独编译安装gd库

    本文由秀依林枫提供友情赞助,首发于烂泥行天下

    这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕。但是在安装该系统时,却提示缺少gd库。如下:

    clip_image001[4]

    使用php探针查看,发现php确实没有安装gd库。如下:

    clip_image002[4]

    目前服务器的环境是nginx+php-fpm,php使用源码最小化安装,所以就没有安装gd库。尽管没有安装gd库,但是我们还是可以通过单独编译安装gd库。

    下面我们就开始来介绍如何给已经编译好的php环境安装gd库。gd库的安装分以下几个步骤:

    1、gd库是什么

    2、安装libpng

    3、安装freetype

    4、安装jpegsrc

    5、安装gd库

    6、检查gd库安装情况

    一、gd库是什么

    gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表、图形、缩略图以及其他图像的处理操作。

    gd库支持JPG、PNG、GIF等常见的图片格式。所以在安装gd库之前,我们需要安装libpng、jpegsrc、freetype这三款软件。

    二、安装libpng

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

    下载libpng,如下:

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

    clip_image003[4]

    安装libpng,libpng的安装我们使用默认的选项。如下:

    tar -xf libpng-1.6.16.tar.gz

    cd libpng-1.6.16

    ./configure

    make

    make install

    clip_image004[4]

    clip_image005[4]

    注意:如果系统中已经安装了zlib,要注意zlib和libpng版本之间的兼容性问题,目前已知zlib-1.2.8和libpng-1.5.20可以正常安装,但是与libpng-1.6.16安装时,就会报如下错误:

    clip_image006[4]

    对此有篇文章对此问题进行了一些描述,如下:

    http://stackoverflow.com/questions/19738464/pngfix-c2151-undefined-reference-to-inflateres

    三、安装jpegsrc

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

    下载jpegsrc,如下:

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

    clip_image007[4]

    clip_image008[4]

    安装jpegsrc,jpegsrc的安装我们使用默认的选项。如下:

    tar -xf jpegsrc.v9a.tar.gz

    cd jpeg-9a/

    ./configure

    make && make install

    clip_image009[4]

    clip_image010[4]

    四、安装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

    clip_image011[4]

    clip_image012[4]

    安装freetype,freetype的安装我们使用默认的选项。如下:

    tar -xf freetype-2.5.5.tar.gz

    cd freetype-2.5.5

    ./configure

    make && make install

    clip_image013[4]

    clip_image014[4]

    五、安装gd库

    以上三款软件安装完毕后,我们现在来单独编译安装gd库。

    单独编译安装gd裤,我们需要切换到php源码包的/ext/gd/目录下,如下:

    /root/php-5.6.2/ext/gd

    clip_image015[4]

    然后在这个目录执行phpize命令。如下:

    /usr/local/bin/phpize

    clip_image016[4]

    为什么要使用phpize命令呢?因为当我们需要再添加一些模块,但是又不想重新编译php时,这时我们就可以使用phpize命令。

    注意:phpize命令根据php的安装位置来决定,我这个php安装时使用默认安装位置。

    现在可以进行单独编译安装gd库了,如下:

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

    make && make install

    clip_image017[4]

    clip_image018[4]

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

    vi /usr/local/lib/php.ini

    extension=gd.so

    clip_image019[4]

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

    php --ini

    clip_image020[4]

    六、检查gd库安装情况

    gd库安装完毕以及php.ini文件修改完毕后,我们就可以通过php –m命令查看gd模块是否加载成功。如下:

    /usr/local/bin/php -m |grep gd

    clip_image021[4]

    注意:php –m是查看php都是安装了哪些模块的命令。

    /usr/local/bin/php -m

    clip_image022[4]

    通过上图,我们可以很明显的看到gd模块已经被正确加载了。

    现在我们来重启nginx和php-fpm,然后再看看gd库是否安装成功,如下:

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

    /etc/init.d/php-fpm restart

    clip_image023[4]

    clip_image024[4]

    通过上图,我们可以看到gd库已经安装成功。

    如果是apache的话,我们也是这样进行安装即可。

  • 相关阅读:
    Spring优雅关闭之:ShutDownHook
    RocketMQ一直打印RocketmqRemoting closeChannel: close the connection to remote address[] result: true
    MVC中使用内建的HTML辅助方法产生表单元素提交表单与button按钮事件的陷阱
    js代码生成form,解决mvc的url参数过长问题
    jQuery中关于height,innerWidth与outerWidth的区别
    Chrome和Firefox浏览器执行new Date() 函数传参数得到不同结果的陷阱
    SQL时间段查询、分页、in字符串正则拆分
    JAVA初始化文件代码
    Base64加密URL、解密URL
    Spring XML model validation
  • 原文地址:https://www.cnblogs.com/ilanni/p/4272139.html
Copyright © 2011-2022 走看看