安裝前建議先執行 /usr/local/php/bin/php -m (此命令顯示目前已經安裝好的PHP模塊)看一下,要安裝的模塊是否已安裝。而後下載當前PHP版本的源碼並解壓。php
本文以imap和exif模塊爲例,進入php源碼目錄下ext,裏面會有大部分模塊的源碼。html
一、安裝imap模塊前須要先安裝imap所需的庫:linux
CentOS :yum install libc-client-develapache
Debian:apt-get install libc-client-devwindows
二、首先進入php安裝目錄的ext目錄瀏覽器
好比php的源碼目錄爲:/root/lnmp0.4-full/php-5.2.10/函數
則執行:cd /root/lnmp0.4-full/php-5.2.10/ext/php-fpm
咱們要安裝imap模塊,執行cd imap/post
再執行 /usr/local/php/bin/phpize 會返回以下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519ui
再執行如下命令:
[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不須要另外安裝庫,因此省略掉了安裝庫的步驟。
好比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