我們經常碰到編譯安裝完成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後要追加擴展基本都是這個步驟了。