環境php5.2.13, 不支持mbstring擴展
假如php的源碼包在/usr/local/src/php-5.2.13
php安裝目錄是/usr/local/php
# cd /usr/local/src/php-5.2.13/ext/mbstring/
# rpm -qa|egrep "autoconf|gcc" 這個是檢測這些組件是否安裝,沒有安裝請執行下面這句,否則會報錯
# yum -y install autoconf gcc gcc-c++
# phpize
# ./configure --with-php-config=/usr/local/bin/php-config
# make
# make install
執行完畢後在php.ini裡增加extension=mbstring.so
重啟web服務器, 看一下phpinfo, 應該支持mbstring了!
1.安裝crul
wget http://curl.haxx.se/download/curl-7.19.6.tar.gz
tar -zxvf curl-7.19.6.tar.gz
cd curl-7.19.6
./configure --prefix=/usr/local/curl
make
make install
2.編譯生成擴展
進入php源程序目錄中的ext目錄中,這裡存放著各個擴展模塊的源代碼,選擇你需要的模塊,比如curl模塊:
cd curl
執行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
運行時,可能會報錯:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.,需要安裝autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)
生成配置文件,並編譯生成模塊:
/usr/local/php5/bin/phpize
./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php5/bin/php-config
make
make install
生成的文件在(如:/usr/local/php5/extensions/no-debug-non-zts-20090626/)
這樣,curl.so就被復制到PHP對應目錄(如:/usr/local/php5/extensions/)
3.修改配置
在php.ini裡,設置擴展目錄:
extension_dir = "/usr/local/php5/extensions/"
並添加擴展模塊引用:
extension = curl.so
4.檢查並重啟Apache
/usr/local/php5/bin/php -v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,這裡會報錯,可以根據錯誤信息去排查