PHP有多種方式來安裝拓展, 主要有 包管理式的yum安裝、pecl安裝, 以及底層的源碼編譯安裝。
包管理式的安裝卸載尤為方便,而源碼編譯式的安裝則方便參數調優。
一般的搭建本機開發環境推薦包管理式的安裝,節約時間。而線上部署環境則推薦編譯安裝, 方便調優。
yum安裝
## yum方式安裝能自動安裝拓展的.so動態庫,並配置好php.ini# 如安裝mysql拓展yum search mysql|grep php #我們搜尋到拓展名為 php-mysql.x86_64sudo yum install php-mysql #這樣php-mysql拓展便安裝好了# 如果出現拓展版本和php版本衝突問題, 可安裝如下任意yum源:atomic-release.noarchwebtatic-release.noarch# 這些源提供了其他版本的php拓展,同時每個源針對特定拓展都會提供多個版本,你只需安裝一個源即可。如:atomic源下能搜尋到5.4版的mysql拓展 atomic-php54-php-mysql.x86_64 webtatic源下能搜尋到5.5版本的mysql拓展 php55w-mysql.x86_64
pecl安裝
# 我們需要先從pear官網下載 go-pear 工具# 這個工具將幫我們同時安裝 pecl包管理器(管理php的C拓展) pear包管理器(管理php類庫)wget http://pear.php.net/go-pear.phar# 安裝工具# 安裝過程除非特別指定,否則預設將工具安裝到 /home/使用者名稱/pear/bin 目錄下php go-pear.phar# 將工具目錄添加到環境變數中# 編輯/etc/profile 追加一行配置export PATH=$PATH:/home/使用者名稱/pear/bin# 載入環境配置source /etc/profile# 組態工具的php_ini選項,這樣安裝拓展時pecl工具就能幫我們自動設定php.ini檔案了# vim /home/使用者名稱/pear/share/pear/PEAR/Config.php# 搜尋php_ini, default鍵修改為你的php.ini檔案路徑: 'php_ini' => array( 'type' => 'file', 'default' => '/etc/php.ini', 'doc' => 'location of php.ini in which to enable PECL extensions on install', 'prompt' => 'php.ini location', 'group' => 'File Locations (Advanced)', ), #確認一下,配置起效pecl config-get php_ini #配置成功將顯示 /etc/php.ini# 搜尋mysql拓展pecl search mysql# 這時一般會提示我們更新工具, 則我們依據提示進行更新sudo pecl channel-update pecl.php.net# 再次搜尋mysql拓展, 成功pecl search mysql# 安裝拓展pecl install mysql
源碼編譯安裝
# 概略講解, 下次補充# 下載拓展源碼,進入源碼目錄, 執行phpize指令產生編譯設定檔 configure 檢測指令碼, # 執行 configure指令碼 結合參數 產生 編譯設定檔makefile# make & make install 生動該拓展的動態庫# 遷移產生的拓展動態庫 .so 檔案到php.ini中配置好的extension_dir中# php.ini 增加一個節區該拓展的配置資訊
檢查mysql拓展是否安裝成功
php -i | grep mysql
成功安裝後上面命令將顯示一個節區的mysql拓展狀態資訊。
但拓展載入到運行環境中還需要你重啟 web服務 亦或是 php-fpm