php安装模块

来源:互联网 发布:手持数据终端i6200s 编辑:程序博客网 时间:2024/05/23 00:10

1、模块安装原理:

安装php, 大的方面还可以分为两种方式:

方式1. 将扩展编译到php 
方式2. 将扩展单独编译成动态连接库so文件

方式3:如果扩展模块中又使用了第三方,那么解决方法是扩展模块中直接集成第三方,特殊的情况是,使用php默认的模块,要启动默认相关模块中的新特性,必须进行重新编译,比如:GD中默认编译是不包括freetype的,如果要使用必修重新编译php,增加对应的支持

2、安装举例和优缺点说明:

方式1:

方式1的优点是运行速度快,但是为了一个扩展需要重新安装整个php;方式2灵活,但是运行速度稍慢. windows平台下的php程序员大多只熟悉方式2,因为方式2是windows下安装Php扩展的唯一方式.

之前如果安装了php, 如果没有删除php源码目录,重新进入该目录, 那么此时重新编译运行将采用增量方式,实际上比方式2还更方便些.仍然3步走:

  1. ./configure --prefix=/my/php --with-mysql  
  2. make  
  3. make install 

有人质疑: 我安装mysql sdk,./configure命令一个--with-mysql就知道我安装的目录,还是有点神奇,难道他全硬盘搜索.h文件? 不是, 如果你用yum方式安装sdk,那么LD_LIBRARY_PATH系统变量就指示了该sdk相关信息 ,如果你使用源码(tar)安装mysql sdk,你的--with-mysql参数不得不像这样: --with-mysql=/your_mysql_sdk_dir/

方式2:

以添加ftp模块为例子

进入源码目次

cd php-5.2.8/ext/ftp
#运行phpize configure

/usr/local/php/bin/phpize

#编译,指定php-config,留意这里的php-config,不是php.ini

./configure --with-php-config='/usr/local/php/bin/php-config'
#上面可以添加--enable-ftp,也可以不消添加

#编译安装     
(留意:假如之前有过添加其他模块肯定 要先 make clean ,不然 编译报错。)

make && make install

#生成一个目录来存放扩展的模块

mkdir /usr/local/php/etc/php/ext

#复制ftp.so到模块目次

cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ftp.so /usr/local/php/etc/ext/

#编辑 php.ini文件,指定PHP到哪个目次读模块

vi /usr/local/php/etc/php.ini

extension_dir="/usr/local/php/etc/ext"
#Load模块
extension=ftp.so
#保存退出

重启apache
再用/usr/local/php/bin/php -m|grep ftp查察 是否有ftp.so

模式3:

直接使用GD内置模块外置freetype:

'./configure' \
'--prefix=/usr/local/php' \
'--enable-mbstring' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-mysql=/usr/local/mysql' \
'--with-config-file-path=/usr/local/php' \
'--enable-session' \
'--with-bz2' \
'--with-gd' \
'--enable-sockets' \
'--with-freetype-dir=/usr/include/freetype2/freetype/' \

3、参考文档:

php添加FreeType 库支持 http://yhqlzz.blog.51cto.com/2557314/1058977/

php不重新编译添加模块 php不重新编译添加模块  http://blog.163.com/i_yuhan/blog/static/198342100201212382841617/

使用phpize建立php扩展   http://blog.csdn.net/sdomain/article/details/4520425

1 0
原创粉丝点击