文档章节

php安装扩展

TopPGF
 TopPGF
发布于 2016/04/16 18:01
字数 676
阅读 12
收藏 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


本文转载自:http://aiwei.us/5448.html

共有 人打赏支持
TopPGF
粉丝 0
博文 5
码字总数 755
作品 0
深圳
私信 提问
Debian5 安装mongodb 以及php的mongodb扩展

debian5 安装mongodb已经相关的php扩展 1 安装编译环境 apt-get install build-essential 2 安装相关头文件 apt-get install libc6-dev 3 在使用php时会发现在当初编译时没有把某个模块编译进...

China_OS
2012/05/28
0
0
linux下用phpize给PHP动态添加扩展

phpize简介 phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定 所以安装 php-devel 相关套件就会有 phpize 可以使用 (档案预设存放于 /usr/bin/phpize ) phpize 命令是用...

Junn
2013/09/02
0
0
php添加pcntl扩展

安装一些php扩展,参考php手册即可,下面对需要说明的部分进行补充,以安装php扩展pcntl为例。 #查看当前php版本123456deMacBook-Pro:~ admin$ php -vPHP 5.5.14 (cli) (built: Sep 9 2014 ...

白狼栈
2016/03/07
1K
0
PHP开启多线程扩展

php从5.3开始支持多线程pthreads扩展,并同时支持window和linux。 pthreads可以实现多任务同步或异步执行,它提供了创建多线程应用所需的全套工具,默认未安装。 安装 window系统下:http://...

ttlxihuan
2017/02/14
0
0
linux(centos)下安装PHP的PDO扩展

PHP 数据对象PDO扩展为PHP访问数据库定义了一个轻量级的一致接口。PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。最近在我们的...

it1000001001
2017/07/31
99
0

没有更多内容

加载失败,请刷新页面

加载更多

Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
30分钟前
1
0
Apache Flink 漫谈系列 - 持续查询(Continuous Queries)

摘要: 实际问题 我们知道在流计算场景中,数据是源源不断的流入的,数据流永远不会结束,那么计算就永远不会结束,如果计算永远不会结束的话,那么计算结果何时输出呢?本篇将介绍Apache Fl...

阿里云官方博客
34分钟前
6
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
35分钟前
3
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
40分钟前
0
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部