當PHP安裝完成後,若是想再增長一個模塊,此時又不能從新編譯php,咱們只能以擴展模塊的形式,給它編譯出一個.so文件以動態調用,本次咱們以安裝一個redis模塊爲例,redis是一個NoSql,使用比較普遍,一般在LAMP這種架構下,會把它當成緩存來使用。php
一、切換目錄linux
# cd /usr/local/src/git
二、下載redis包github
# wget https://codeload.github.com/phpredis/phpredis/zip/developredis
另外一種狀況:redis、mongo這類是屬於第三方的,在php的源碼包裏面是沒有這類模塊的,實際上在/usr/local/src/php-5.6.30/ext/目錄下有不少的模塊,若是咱們想要安裝的模塊在這個目錄下,就不用下載,能夠直接跳到第五步開始執行。若是想要安裝的模塊在這個目錄下沒有,就須要去官網下載,或者r.aminglinux.com下緩存
三、修改包名架構
# mv develop phpredis-develop.zip工具
四、解壓code
# unzip phpredis-develop.zipip
五、進入解壓後的文件夾目錄下
# cd phpredis-develop
六、生成configure文件
此時redis目錄下尚未configure文件,
所以須要使用phpize這個工具來生成configure文件
# /usr/local/php/bin/phpize
能夠看到,上圖提示錯誤,須要安裝autoconf,安裝成功後,再來從新生成configure文件,生成成功的界面以下圖
此時咱們來查看phpredis-develop目錄下的文件,就能夠看到configure文件了
七、配置
# ./configure --with-php-config=/usr/local/php/bin/php-config
通常狀況下只須要使用--with-php-config這一個參數就能夠了,成功截圖以下:
八、編譯
# make
# make install //會將生成的redis.so文件放到下圖目錄中去
九、查看擴展模塊目錄
完成上一步後,咱們能夠看到php仍是沒有支持redis擴展模塊,以下
# /usr/local/php/bin/php -m |grep redis
篩選結果沒有redis這個模塊
咱們也能夠查看php擴展模塊存放目錄,用如下命令
# /usr/local/php/bin/php -i |grep -i extension_dir
這個擴展模塊的存放目錄也能夠在php.ini中去自定義,默認是將全部編譯出來的擴展模塊放到此目錄下
十、編輯配置文件
在配置文件/usr/local/php/etc/php.ini中加入如下內容:
extension=redis.so
這行內容能夠放到文件末尾,也能夠放到如下位置:
保存後,再來查看php已經加載的模塊就能看到redis已經加載了