lamp php php擴展模塊

php動態模塊是一個可以看的見的以.so結尾的文件,可以根據需要加載使用。靜態模塊跟隨php一起啟動,看不到文件。php一旦編譯完成,要想再增加一個功能模塊的話,要麽重新編譯php,要麽直接編譯一個擴展模塊,然後在php.ini中配置一下就可以被加載使用。
/usr/local/php/bin/php -m //查看模塊
下面安裝一個redis的模塊

 cd /usr/local/src/
 wget https://codeload.github.com/phpredis/phpredis/zip/develop 
 mv develop phpredis-develop.zip
 unzip phpredis-develop.zip
 cd phpredis-develop
 /usr/local/php/bin/phpize //生成configure文件
 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
 /usr/local/php/bin/php -i |grep extension_dir //查看擴展模塊存放目錄,我們可以在php.ini中去自定義該路徑 

技術分享圖片
此時根據查詢出來的路徑我們查看下安裝的擴展模塊
ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226
技術分享圖片
這時候我們執行/usr/local/php/bin/php -m |grep redis 會發現還沒有加載該模塊,編輯php.ini,加入該模塊
vim /usr/local/php/etc/php.ini //增加一行配置(可以放到文件最後一行)
extension = redis.so
再次查看/usr/local/php/bin/php -m |grep redis
技術分享圖片
以上我們從網上下載了一個擴展模塊,此外我們還可以在本地找到一些可用的模塊,在php的源碼包裏面有一個ext的目錄,該目錄下有很多擴展模塊
技術分享圖片
當我們需要時也可以用這些模塊進行編譯安裝。具體操作跟上面一模一樣。

現在我們總結下整個安裝過程
1 進入擴展包文件下,當然如果是壓縮文件,先解壓
2 執行/usr/local/php/bin/phpize 生成configure文件,如果此時缺依賴包報錯,則安裝相應包
3 執行源碼包安裝三部曲./configure --with-php-config=/usr/lcoal/php/bin/php-config,意思是要帶上php-config這個配置文件,要更具實際情況來。 make && make install
4 在php.ini 文件中配置安裝的模塊。格式為extension=模塊名

Linux學習總結(三十八)lamp之php擴展模塊安裝