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()这个页面也可以查看到模块。