09月30, 2012

Linux下为PHP添加扩展库的方法

我刚刚开始学习lnmp环境,对php编译的参数基本上都不知道,在网上看了很多教程,看到在编译PhP的时候都还了很多参数,也在网上查了这些参数是什么意思,但是却不知道,哪些参数必须要加上,哪些参数不需要加,加上会出什么问题,不加会报什么错;所以在编译PHP的时候除了必要的目录指定,好多参数都没有加……等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装。。于是就在网上找到了此文。

一、添加FTP扩展

1、找到原来的源码包解压一下

如:php-5.2.13

进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp

2、调用phpize程序生成编译配置文件

代码如下:

  • root@dns ftp]# /usr/local/php5/bin/phpize
  • Configuring for:
  • PHP Api Version: 20041225
  • Zend Module Api No: 20060613
  • Zend Extension Api No: 220060519
yaml

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
shell

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
nsis

7、重启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!!!

原文

本文链接:https://blog.hijs.cc/post/php-add-ext.html

-- EOF --

Comments