以前以爲php的擴展要重新編譯php,今天在羣友的指點下知道可以像apache模塊一樣動態擴展,以mcrypt舉例。
進入要安裝的擴展的源碼目錄
cd /root/php-5.2.6/ext/mcrypt
運行phpize
/usr/local/php5/bin/phpize
cd /root/php-5.2.6/ext/mcrypt
運行phpize
/usr/local/php5/bin/phpize
[ansi]root@Web2 11 mcrypt $/usr/local/php5/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
出現這樣的提示說明可以擴展。
然後編譯安裝
#./configure --with-php-config=/usr/local/php5/bin/php-config
#make
#make
#make install
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
記住這裏提示的路徑剛纔編譯的module就在這裏
[ansi]root@Web2 20 mcrypt $cd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
[ansi]root@Web2 21 no-debug-non-zts-20060613 $ls
eaccelerator.so mcrypt.so memcache.so
[ansi]root@Web2 20 mcrypt $cd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
[ansi]root@Web2 21 no-debug-non-zts-20060613 $ls
eaccelerator.so mcrypt.so memcache.so
然後編輯php.ini(如果php安裝在/usr/local/php5 則php.ini在/usr/local/php5/lib/php.ini中添加
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "mcrypt.so"
然後重啓apache,然後再訪問phpinfo.php 就看到支持mcrypt了。