我们经常碰到编译安装完成php之后然后再想起要加一个扩展,上次我们公司的php就碰到一个这样的情况,我们把php从5.3.3升级到了5.6.8,然后重新编译一下,5.6.8安装完成,但是他们php说没有gd库,不能识别验证码,那我蛋疼了,只能再继续安装扩展了。可是一时忘了扩展怎么安装了,重新下载一个gd.tar.gz的源码编译也不行,还好后来找到了以前自己的文档,现在将这个方法贴出来以供后面作参考。
php解压目录 /data/php-5 .6.8 php安装目录 /data/install/php |
安装gd扩展
在安装gd之前要先安装几个其他的包,要不然gd库编译的时候会报错,如果已经安装了其他几个包的话就可以省略下面1、2步,如果有报错可以根据报错提示来进行修复
① 安装freetype [root@ test ~] # tar xzvf /data/install/freetype-2.4.0.tar.gz [root@ test ~] # cd /data/install/freetype-2.4.0 [root@ test ~] # make && make install ② 安装jpeg [root@ test ~] # tar xzvf /data/install/jpegsrc.v6b.tar.gz [root@ test ~] # cd /data/install/jpeg-6b [root@ test ~] # make && make install ③ 安装gd [root@ test ~] # cd /data/install/php-5.6.8 [root@ test php-5.6.8] # cd ext/gd/ |
默认是没有configure的,我们需要在php的安装目录下执行一下phpize这个命令 [root@test_qx_web gd]# /data/install/php/bin/phpize 执行完这个命令之后才会出现configure [root@test gd]# ./configure --with-php-config=/data/install/php/bin/php-config --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd [root@test gd]# make && make install [root@test gd]# echo "extension = gd.so " >> /data/install/php/etc/php.ini [root@test gd]# service php-fpm restart |
2.安装redis扩展 [root@ test ~] # tar zxvf redis-2.2.7.tgz [root@ test ~] # cd redis-2.2.7 [root@ test ~] # /usr/local/php/bin/phpize [root@ test ~] # ./configure --with-php-config=/data/install/php/bin/php-config [root@ test ~] # make && make install [root@ test ~] # echo "extension = redis.so " >> /data/install/php/etc/php.ini [root@ test ~] # service php-fpm restart |
以上就是我这次安装gd和redis扩展的过程,基本编译完成php后要追加扩展基本都是这个步骤了。
1 | <br> |