Linux下为PHP添加扩展库的方法
加上会出什么问题,不加会报什么错;所以在编译PHP的时候除了必要的目录指定,好多参数都没有加……等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装。。于是就在网上找到了此文
一、添加FTP扩展
1、找到原来的源码包解压一下
如:php-5.2.13
进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp
root@dns ftp]# /usr/local/php5/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
3. 编译扩展库,分别执行下面的configure和make命令。
#./configure --with-php-config=/usr/local/php5/bin/php-config
#configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
#make
#make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,
代码如下:
[root@Ansen ftp]# ls modules/
ftp.la ftp.so
4、编辑php.ini文档,创建extension_dir的目录,将编译好的扩展文件复制到extension下面
将extension_dir = "./" 改成
代码如下:
extension_dir = "/usr/local/php5/lib/php/extension"
[root@Ansen modules]#cp ftp.so /usr/local/php5/lib/php/extension
5、在php.ini的添加扩展库位置,设置要添加的扩展库。
在989处添加 extension=ftp.so
6、重启一下apache 就可以得到ftp的支持了
二、添加zlib扩展
[root@Ansen zlib]# pwd
/root/lnmp/php-5.3.0/ext/zlib
[root@Ansen zlib]#mv config0.m4 config.m4
[root@Ansen zlib]#/usr/local/php5/bin/phpize
[root@Ansen zlib]#./configure --with-php-config=/usr/local/php5/bin/php-config
[root@Ansen zlib]#make
[root@Ansen zlib]# cp modules/zlib.so /usr/local/php5/lib/php/extension/
[root@Ansen zlib]#vi /usr/local/php5/lib/php.ini
添加extension=zlib.so
8、重启apache就可以了
PS:其它扩展可以参考上面两种扩展的方法进行安装
补充简洁版:
一开始编译php的时候,忘了,现在用phpize安装扩展库进行添加
找到当前运行的php版本的源代码目录,如 php-5.2.12。进入curl扩展库目录
#cd /home/changyou/php-5.2.12/ext/curl
(调用phpize程序生成编译配置文件)
#/usr/local/web/php/bin/phpize
(编译扩展库,分别执行下面的configure和make命令)
#./configure –with-php-config=/usr/local/web/php/bin/php-config
(configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因)
#make
make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下
如我这里的目录是:/home/changyou/php-5.2.12/ext/curl/modules/curl.so
然后配置php.ini文件,将编译好的扩展库文件复制到php的extension目录下
#cp /home/changyou/php-5.2.12/ext/curl/modules/curl.so /usr/local/web/php/lib/php/extension/
最后修改 php.ini 添加配置
extension_dir = “/usr/local/web/php/lib/php/extension/”
extension=curl.so
Done!!!