如果要幫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/