php安裝擴展模塊的思路:
1,首先找到需要安裝的擴展模塊的目錄。一般在/usr/local/php/ext目錄下 但是有的模塊php源碼中不一定有,需要自己下載比如memcache、redis等。
2,通過phpize工具生成configure文件。
3,./configure -with-php-config=/usr/local/php/bin/php-config
4,make&&make install
5,通過/usr/local/php/bin/php -i |grep 'extension_dir' 找到放.so文件的目錄,查看編譯安裝的模塊是否在這個目錄下面。如果是,只需在php.ini在添加extension=模塊名,如果不是在則把該模塊到該目錄下,再在php.ini加入extension=模塊名即可。一般情況下都是在extension_dir中的,至少我沒看到例外。這里有點像apache擴展模塊的安裝 不過apache可以自動寫入配置文件。
6,查看加載是否成功 /usr/local/php/bin/php -m |grep 模塊名
正式開始,
1,cd 到php源碼包中的ext目錄下,由於我們是要擴展安裝curl模塊,所以我們進入到curl目錄下。
執行命令 /usr/local/php/bin/phpize 可以看到有報錯信息
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
哦,沒找到autoconf ,那就安裝唄。 yum install -y autoconf yum install -y m4 這里還需要m4這庫文件。
在執行 /usr/local/php/bin/phpize 沒有報錯信息了。ls 一下查看是否生成了configure這個文件。
2,./configure --with-php-config=/usr/local/php/bin/php-config 又有報錯信息
configure: error: Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
yum install -y libcurl-devel
3,make &&make install
4,我們可以看到如下提示
/usr/local/php/bin/php -i |grep 'extension_dir'
可以發現,模塊就是安裝在extension_dir目錄下。
5,vim /usr/local/php/etc/php.ini 找到extension=php_shmop.dll(該行下面添加如下信息)
extension=curl.so即可。
6,查看加載是否成功。
/usr/local/php/bin/php -m |grep curl
當然,我們可以重啟apache服務,通過訪問phpinfo()這個頁面也可以查看到模塊。