安裝前
安裝前建議先執行 /usr/local/php/bin/php -m (此命令顯示目前已經安裝好的PHP模塊)看一下,要安裝的模塊是否已安裝。然后下載當前PHP版本的源碼並解壓。
本文以imap和exif模塊為例,進入php源碼目錄下ext,里面會有大部分模塊的源碼。
一、安裝imap模塊
1、安裝imap模塊前需要先安裝imap所需的庫:
CentOS :yum install libc-client-devel
Debian:apt-get install libc-client-dev
2、首先進入php安裝目錄的ext目錄
比如php的源碼目錄為:/root/lnmp0.4-full/php-5.2.10/
則執行:cd /root/lnmp0.4-full/php-5.2.10/ext/
我們要安裝imap模塊,執行cd imap/
再執行 /usr/local/php/bin/phpize 會返回如下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
再執行以下命令:
[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos --with-imap-ssl
[root@vpser imap]# make && make install
執行完返回:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
表示已經成功,再修改/usr/local/php/etc/php.ini
查找:extension_dir 再下面一行添加上extension = "imap.so"
保存,執行/etc/init.d/php-fpm restart 重啟。
在瀏覽器里面輸入http://ip/p.php,打開探針,安裝IMAP模塊前:
安裝IMAP模塊后:
二、安裝exif模塊
安裝exif不需要另外安裝庫,所以省略掉了安裝庫的步驟。
比如php的安裝目錄為:/root/lnmp0.4-full/php-5.2.10/
則執行:cd /root/lnmp0.4-full/php-5.2.10/ext/
我們要安裝exif模塊,執行cd exif/
再執行 /usr/local/php/bin/phpize 會返回如下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
再執行以下命令:
[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@vpser imap]# make && make install
執行完返回:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
表示已經成功,再修改/usr/local/php/etc/php.ini
查找:extension = 再最后一個extension= 后面添加上extension = "exif.so"
保存,執行/etc/init.d/php-fpm restart 重啟。
在/home/wwwroot/下面創建一個exif.php的文件,內容如下:
<?php
$exif = read_exif_data ('IMG_0001.JPG');
while(list($k,$v)=each($exif)) {
echo "$k: $v<br>\n";
}?>
其中IMG_0001.JPG為照片文件。
未安裝exif模塊前:
安裝exif模塊后:
可以讀出照片的exif信息。
安裝其他模塊也基本上都是這兩種方式,當./configure --with-php-config=/usr/local/php/bin/php-config 執行這個的時候是會檢查系統上庫是否安裝上,如果沒有安裝上就會報錯,按錯誤提示安裝相關的庫就行。
轉載:http://www.vpser.net/manage/lnmp-php-install-ext.html
使用php的常見問題是:編譯php時忘記添加某擴展,后來想添加擴展,但是因為安裝php后又裝了一些東西如PEAR等,不想刪除目錄重裝,別說,php還真有這樣的功能。
我沒有在手冊中看到。
如我想增加bcmath支持,這是一個支持大整數計算的擴展。windows自帶而且內置,linux“本類函數僅在 PHP 編譯時配置了 --enable-bcmath 時可用”(引號內是手冊中的話)
幸好有phpize,
方法是,要有與現有php完全相同的php壓縮包。我用的是php-5.2.6.tar.gz。
展開后進入里面的ext/bcmath目錄
然后執行/usr/local/php/bin/phpize,這是一個可執行的文本文件,要確保它在系統中
會發現當前目錄下多了一些configure文件,
如果沒報錯,則
Php代碼
./configure --with-php-config=/usr/local/php/bin/php-config
注意要先確保/usr/local/php/bin/php-config存在。
如果你的php安裝路徑不是默認的,要改。
如果沒有報錯,則make,再make install ,然后它告訴你一個目錄
你把該目錄下的bcmath.so拷貝到你php.ini中的extension_dir指向的目錄中,
修改php.ini,在最后添加一句extension=bcmath.so
重啟apache.
轉載:http://www.cnblogs.com/mrcoke/articles/2351878.html