您的位置:首页 > 运维架构 > Linux

centos 64位系统 动态安装php的gd库

2013-08-16 12:06 495 查看
今天帮人安装lnmp环境(编译安装),遇到要动态安装gd库的情况,就记录下来。首先装完了mysql,和ngxin,不是本文的重点,跳过下载php-5.3.5.tar.bz2于/usr/local/src下,解压,执行./configue, 参数为: ./configure --prefix=/usr/local/php \
--with-curl \
--with-zlib \
--with-mhash \
--with-openssl \
--with-mcrypt \
--with-mysql=/usr/local/mysql \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-zip \
--enable-mbstring \
--enable-inline-optimization \
--disable-debug \
--disable-ipv6
接着make && make install接着安装 gd 前置库 : freetype ,jpegsrc,libpng,freetype:wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2"jpegsrc:wget "http://www.ijg.org/files/jpegsrc.v9.tar.gz"libpng:
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"

依次进入各个目录执行CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/freetype && make && make install

CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg && make && make installmkdir -p /usr/local/jpeg/include
mkdir -p /usr/local/jpeg/lib
mkdir -p /usr/local/jpeg/bin
mkdir -p /usr/local/jpeg/man/man1

CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install接着cd 到php源码的gd目录cd /usr/local/src/php-5.3.5/ext/gd一定要在这个目录下执行 /usr/local/php/bin/phpize接着在当前目录下执行:./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/freetypemake && make install接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so这样在执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。因为我是用nginx fastcgi 执行php的,所以安装php后要修改下/usr/local/php/etc/php-fpm.conf文件。不然开启php-fpm时候会报错pm.min_spare_servers(0) must be a positive valuepm.start_servers is not set. It's been set to 20vim /usr/local/php/etc/php-fpm.conf 将;pm.max_spare_servers = 35 前的;去掉将;pm.start_servers = 20 前的;去掉将;pm.min_spare_servers = 5 前的;去掉接着执行/usr/local/php/sbin/php-fpm 就没报错了,php-fpm默认监听9000端口还要将nginx的配置文件中有关fastcgi 的注释符去掉,还要将 nginx配置文件中的这句 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 中的/scripts修改为网站路径,我的是 fastcgi_param SCRIPT_FILENAME /var/www/web$fastcgi_script_name;这样应该就可以了还有一个地方要注意,编译安装软件时候要看清楚系统里是否已经用yum或rpm安装了相同的软件。我上面操作的时候因为系统本身yum装了php,我编译php前没卸载掉系统的php导致错误。

本文出自 “ohgenlong16300blog.com” 博客,请务必保留此出处http://ohgenlong16300.blog.51cto.com/499130/1274860
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: