CentOS单独编译安装PHP gd库扩展
2015-12-28 14:13
671 查看
原文: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. jpegsrc
3. libpng
接下来需要cd到php源码的 gd 目录,否则会报 cannot find config.m4 之类的错误。
然后再这个目录执行命令 /usr/local/php/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。
现在可以进行单独编译安装了:
接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so
重启 Nginx 之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。
console列出:
看到gd了,说明gd库安装成功。
接下来只要重启 php-fpm 即可:
phpinfo()一下,看看。
网站的第二台服务器跑的的环境主要是Python/Ruby,有时也需要简单跑跑PHP脚本,所以也安装了PHP,环境是Nginx+php-fpm,PHP是源码编译安装的,所以是最小化安装,甚至连mysqli扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。安装过程也比较繁杂,这个记录一下,方便后来者。
首先说明,我的PHP是源码编译安装的,可以参看 以源码编译的方式安装PHP与php-fpm。
先安装 gd 前置库 : freetype ,jpegsrc,libpng。
1. freetype
1 | wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2" |
2 | tar jxvf freetype-2.4.0.tar.bz2 |
3 | cd freetype-2.4.0 |
4 | ./configure --prefix=/usr/local/freetype && make && make install |
1 | wget "http://www.ijg.org/files/jpegsrc.v9.tar.gz" |
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 |
1 | wget "http://downloads.sourceforge.net/project/libpng/libpng12/1.2.50/libpng-1.2.50.tar.gz?r=http%3A%2F%2Fwww.libpng.org%2Fpub%2Fpng%2Flibpng.html&ts=1376631135&use_mirror=nchc" |
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 |
1 | cd php-5.3.6 |
2 | cd ext |
3 | cd gd |
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 |
重启 Nginx 之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。
1 | service nginx restart |
2 | /usr/local/php/bin/php -m |
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 | …… |
接下来只要重启 php-fpm 即可:
1 | killall php-fpm |
2 | /usr/local/php/sbin/php-fpm |
相关文章推荐
- linux下搭建mrbs会议室预定管理系统
- linux下计算文件md5
- Linux 查找已安装软件的方法
- Linux下多线程下载工具MWget和Axel使用介绍
- linux查看负载
- 来到老男孩3个月的感想
- Linux Mysql root 远程访问权限修改 默认字符集修改:
- Linux常用系统信息查看命令
- Linux快捷键
- 关于LINUX在中断(硬软)中不能睡眠的原因
- CentOS 6.5 kernel至3.10.52
- Linux change timezone
- centos7配置postfix dovecot cyrus-sasl foxmail
- linux正则表达式笔记
- linux敲入命令不记录的方法
- Rhel7/Centos7 修改运行级别
- Linux Resin 安装配置
- Linux课堂笔记(一)
- 阿里云ECS云服务器Linux系统配置JD…
- linux常用命令