php安装扩展
博客专区 > TopPGF 的博客 > 博客详情
php安装扩展
TopPGF 发表于2年前
php安装扩展
  • 发表于 2年前
  • 阅读 11
  • 收藏 0
  • 点赞 1
  • 评论 0

移动开发云端新模式探索实践 >>>   

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

  • 方式1. 将扩展编译到php

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

方式1的优点是运行速度快,但是为了一个扩展需要重新安装整个php;

方式2灵活,但是运行速度稍慢. windows平台下的php程序员大多只熟悉方式2,因为方式2是windows下安装Php扩展的唯一方式.

方式1. 将扩展编译到php

如果之前安装了php, 但是没有删除php源码目录,重新进入该目录, 那么此时重新编译运行将采用增量方式

./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. 将扩展单独编译成动态连接库so文件

#以添加 ftp 模块为例子

进入源码目录(ftp扩展的目录其实也是在解压后php源码中的/ext/目录,而其他的一些扩展比如suhosin ,eaccelerato等是有自己单独的源码包的)

cd php-5.2.8/ext/ftp
/usr/local/php/bin/phpize (#寻找你早前已经安装好的php目录,为的是运行phpize)
./configure --with-php-config='/usr/local/php/bin/php-config' (#寻找你早前已经安装好的php目录,为的是调用php-config)
make && make install

(#如果报错,可以先运行make clean,你可能之前添加过其他模块。关于make clean,你可以访问这里了解

如果报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.“,需要安装autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)

编译完成,如果早前编译PHP的时候指定了配置文件的路径,如–with-config-file-path=/usr/local/php /etc ,那么编译完成后生成的so文件会出现在/usr/local/php/lib/php/extensions/no-debug-non-zts- 20060613/目录中,名称为ftp.so 。(#至于是类似目录no-debug-non-zts-20060613还是类似目录no-debug-zts-20060613,也是取决于当初编译PHP时候的编译设置,请自行区分)

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

vi /usr/local/php/etc/php.ini    (#php.ini文件的目录,取决于当初编译PHP时候的编译设置,请自行区分)

#添加模块:

[ftp]
extension = "ftp.so"

#然后重启apache

#最后查看phpinfo()是否已经载入ftp


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 5
码字总数 755
×
TopPGF
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: