服務器運行一段時間後,可能突然會需求添加某個擴展,如curl、pdo、xmlrpc等,這就需要在不重新編譯PHP的情況下獨立添加擴展。
下面以安裝curl為例,介紹具體安裝步驟。
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
這樣,curl.so就被復制到PHP對應目錄(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/)
3.修改配置在php.ini裡,設置擴展目錄:
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"
並添加擴展模塊引用:
extension = curl.so
4.檢查並重啟Apache
/usr/local/php/bin/php -v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,這裡會報錯,可以根據錯誤信息去排查