手動編譯、安裝PHP Extension (Linux)

如果要幫PHP安裝Extension的話要怎麼做呢?很多人都會回答Pecl,這的確是一個很方便的安裝Extension的方式,不過如果你的Server上面沒有Pecl怎麼辦呢? 然後又因為某些原因不能安裝Pecl,這時候你就只好手動去編譯、安裝囉~ 而這篇文章也就是要教大家如何手動編譯PHP Extension在Linux上面

上面講的「不能安裝Pecl」的情況可能發生嘛?像我是用傻瓜包架站的,就可能遇到這種問題,前一陣子因為要安裝Mongodb的PHP Driver,但是我的Server上面安裝的是LNMP懶人包,他沒有內建Pecl,如果手動安裝Pecl又會把原本LNMP的一些程式覆蓋掉,這時候你就可以手動編譯Extension啦~~

手動編譯PHP Extension教學

1.要自行編譯PHP Extension,第一步當然就是要先取得原始碼囉~

個人推薦大家到Pecl的網站(http://pecl.php.net)下載PHP Extension的原始碼,這裡我就用Mongodb driver來做示範

wget -c http://pecl.php.net/get/mongo-1.2.7.tgz

tar -zxf mongo-1.2.7.tgz

cd mongo-1.2.7

2.執行phpize這隻程式來做初始化

phpize

3.設定configure資訊,$PATH=php-config的位置,預設是在PHP根目錄的bin資料夾裡面

./configure –with-php-config=$PATH

4.開始編譯囉~ 指令:

make && make install

5.編譯完成,mongo.so檔會自動存到PHP Extension裡面

6.編輯php.ini,然後加入一行:

vi php.ini

extension=”mongo.so”

mongo.so的那邊可以換成你安裝的Extension的so檔名稱

7.最後,重新啟動apache,然後去看你的phpinfo()檔,就可以知道有沒有安裝成功囉~

參考文章:http://mattiasgeniar.be/2008/09/14/how-to-compile-and-install-php-extensions-from-source/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料