php编译模块,php不重新编译添加模块 php不重新编译添加模块

php如何使用第三方软件

本例是: php(mysql_connect()函数)使用mysql(第三方软件).

6fb2b67f43c9cdf08c2cff73b97599d7.gif

观察上图,php能使用大量的第三方非php库(典型性是C语言写库), 为了达到此目的,你必须具备两个条件:

Shell代码

条件I.  安装第三方库(软件)

条件II. 安装了该软件的php扩展

如果只是安装mysql,满足条件I,但是条件II不满足, 为了满足条件二, 我们需要了解php安装扩展的知识.

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

引用

方式1. 将扩展编译到php

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

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

之前如果安装了php, 如果没有删除php源码目录,重新进入该目录, 那么此时重新编译运行将

采用增量方式

,实际上比方式2还更方便些.仍然3步走:

Shell代码

./configure --prefix=/my/php --with-mysql

make

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值