查看php加载了哪些模块:[root@master ~]# /usr/local/php/bin/php -m
这些模块会包含一些静态的的也会包含一些动态的,有时候我们会有一些需求,这些模块在我们刚刚编译完php之后,发现少了一个模块,没有编译进来,解决办法有两种,第一要重新编译,第二种使用动态方式把他加载进来
[root@master ~]# cd /usr/local/src/php-5.3.28
[root@master php-5.3.28]# cd ext/
[root@master ext]# ls(可以看到编译的模块)
[root@master ext]# /usr/local/php/bin/php -m |grep -i curl(执行后发现没有curl,那我们就可以编译curl)
[root@master ext]# cd curl/
[root@master curl]# ls
config.m4 CREDITS interface.c package.xml streams.c
config.w32 curl.dsp multi.c php_curl.h tests
[root@master curl]# /usr/local/php/bin/phpize(这一步为了生成config文件config.sub configure config.guess )
[root@master curl]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@master curl]# make
[root@master curl]# make install
模块文件会放到这个目录下:/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
[root@master curl]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/curl.so
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/curl.so
extension_dir是存放curl.so这些扩展模块的
extension_dir在哪里呢?通过下面的查询,在这个目录下/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
[root@master curl]# /usr/local/php/bin/php -i |grep extension_dir
extension_dir => /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626 => /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
sqlite3.extension_dir => no value => no value
[root@master curl]# vim /usr/local/php/etc/php.ini
添加 extension=curl.so
[root@master curl]# /usr/local/php/bin/php -m |grep -i curl(curl是动态加载模块)
curl
参考资料:http://blog.csdn.net/21aspnet/article/details/7471574
http://blog.csdn.net/lyjtynet/article/details/6249109
转载于:https://blog.51cto.com/969301352/1681412