目錄php
以php安裝swoole擴展爲例。mysql
下載源碼包並編譯安裝linux
$ wget http://cn2.php.net/distributions/php7-1.0.tar.gz $ tar -zxvf php7-1.0.tar.gz $ cd php7-1.0 $ ./configure --prefix=$HOME/php7/book/php7-1.0/output --enable-fpm $ make && make install
./configure 是用來檢測你的安裝平臺的目標特徵的,並作些系統設置
這一步通常用來生成 Makefile,爲下一步的編譯作準備,你能夠經過在 configure 後加上參數來對安裝進行控制,好比代碼:./configure -–prefix=/usr 意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是默認的
/usr/local/bin),資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)。同時一些軟件的配置文件你能夠經過指定 –sys-config= 參數進行設定。有一些軟件還能夠加上 –with、–enable、–without、–disable 等等參
數對編譯加以控制,你能夠經過容許 ./configure –help 察看詳細的說明幫助。git
參數詳解:github
--prefix=PREFIX 文件安裝到PREFIX指定目錄redis
--bindir=DIRECTORY 爲可執行程序聲明目錄sql
--libdir=DIRECTORY
庫文件和動態裝載模塊的目錄.缺省是 EXEC-PREFIX/lib.swoole
--includedir=DIRECTORY
C 和 C++ 頭文件的目錄.缺省是 PREFIX/include.php7
--enable-syslog 啓用系統日誌curl
--enable-debug 全部程序和庫以帶有調試符號的方式編譯。
make 是用來編譯的,它從Makefile中讀取指令,而後編譯。
make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。
PEAR PHP擴展與應用庫(the PHP Extension and Application Repository)
PECL (PHP Extension Community Library),PHP的擴展庫,它提供了一系列已知的擴展庫,由C++等其餘語言編寫而成
Pear:是PHP的擴展代碼包,全部的擴展均以PHP代碼的形式出現,功能強大,安裝簡單,甚至能夠改改就用。使用的時候,要在代碼中進行Include纔可以使用。
Pecl:是PHP的標準擴展,能夠補充實際開發中所需的功能,全部的擴展都須要安裝,在Windows下面以Dll的形式出現,在linux下面,須要單獨進行編譯,它的表現形式爲根據PHP官方的標準用C語言寫成,儘管源碼開放可是通常人沒法隨意更改源碼。
Pear是PHP的上層擴展,Pecl是PHP的底層擴展。
# pecl安裝擴展 前提swoole必須在php官方擴展庫 $ pecl install swoole
phpize 動態安裝擴展,經過phpize以創建php的外掛模塊。
curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && \ tar zxvf ./tmp/swoole.tar.gz && \ mv swoole-src* swoole-src && \ cd swoole-src && \ phpize && \ ./configure \ --enable-coroutine \ #啓用協程 --enable-openssl \ #啓用openssl --enable-http2 \ #啓用http2 --enable-async-redis \ #啓用異步redis --enable-sockets \ #啓用sockets --enable-mysqlnd && \ #啓用mysqlnd make clean && make && sudo make install