在windows下我們需要開啟某個擴展,很容易。一般情況下,dll文件都已經安靜地躺在extension目錄下,只等待你在php.ini里將它前面的;去掉。
而在linux,你cd到php的extensions目錄往往發現里面空空的。或許只有幾個so文件落寞地待着。
這里以編譯fileinfo擴展為例(注意這是php內置的擴展,如果你編譯的是第三方擴展請自行到官網下載源碼)
一、找到擴展包
你需要到PHP源碼包里尋找,希望源碼包沒被你刪除。
cd到php-5.x.x/ext/目錄,你會發現里面有很多內置的擴展

我們cd到fileinfo目錄
二、編譯
phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
上面的命令很好理解,首先是執行phpize,它是用來安裝php擴展的工具,如果你的系統無法識別,請使用完整路徑。比如/usr/local/php/bin/phpize 。這個工具會在當前目錄下生成configure文件。
接着就是編譯的三板斧啦~其中with-php-config參數請按照你實際情況填寫
沒有意外的話,經過上面的編譯,你會在php/lib/php/extensions/(在php.ini的extension_dir可找到)目錄下找到生成的fileinfo.so文件
三、添加配置
最后只需要在php.ini里把擴展添加進去就好了
extension = "fileinfo.so"
本文固定鏈接: http://zoufeng.me/2015/08/09/compiled-php-extension-in-linux/
推薦一個php進階開發群(467634807),喜歡灌水和閑聊的勿入~
