zoukankan      html  css  js  c++  java
  • CentOS单独编译安装PHP gd库扩展

    原文:http://www.nowamagic.net/librarys/veda/detail/2610

    网站的第二台服务器跑的的环境主要是Python/Ruby,有时也需要简单跑跑PHP脚本,所以也安装了PHP,环境是Nginx+php-fpm,PHP是源码编译安装的,所以是最小化安装,甚至连mysqli扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。安装过程也比较繁杂,这个记录一下,方便后来者。

    首先说明,我的PHP是源码编译安装的,可以参看 以源码编译的方式安装PHP与php-fpm

    先安装 gd 前置库 : freetype ,jpegsrc,libpng。

    1. freetype

    2 tar jxvf freetype-2.4.0.tar.bz2
    3 cd freetype-2.4.0
    4 ./configure --prefix=/usr/local/freetype && make && make install

    2. jpegsrc

    2 tar zxvf jpegsrc.v9.tar.gz
    3 cd jpeg-9
    4 CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg && make && make install
    5 mkdir -p /usr/local/jpeg/include
    6 mkdir -p /usr/local/jpeg/lib
    7 mkdir -p /usr/local/jpeg/bin
    8 mkdir -p /usr/local/jpeg/man/man1

    3. libpng

    2 tar zxvf libpng-1.2.50.tar.gz
    3 cd libpng-1.2.50
    4 CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install

    接下来需要cd到php源码的 gd 目录,否则会报 cannot find config.m4 之类的错误。

    1 cd php-5.3.6
    2 cd ext
    3 cd gd

    然后再这个目录执行命令 /usr/local/php/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。

    1 /usr/local/php/bin/phpize

    现在可以进行单独编译安装了:

    1 ./configure --with-php-configure=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype
    2 或者
    3 ./configure --with-php-config=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype
    4 make && make install

    接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so

    重启 Nginx 之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。

    1 service nginx restart
    2 /usr/local/php/bin/php -m

    console列出:

    01 [root@nowamagic gd]# /usr/local/php/bin/php -m
    02 [PHP Modules]
    03 Core
    04 ctype
    05 date
    06 dom
    07 ereg
    08 fileinfo
    09 filter
    10 gd
    11 ……

    看到gd了,说明gd库安装成功。

    接下来只要重启 php-fpm 即可:

    1 killall php-fpm
    2 /usr/local/php/sbin/php-fpm

    phpinfo()一下,看看。

  • 相关阅读:
    swift函数
    Swift数据类型
    swift的特点
    图片适配、九宫切图
    iOS中视图控制器的生命周期
    CocoaPods的安装与使用
    SQLite3的使用
    Pickers应用程序
    多视图应用
    OC对象的三大特性:封装、继承和 多态
  • 原文地址:https://www.cnblogs.com/geeek/p/5082380.html
Copyright © 2011-2022 走看看