扩展安装

以php安装swoole扩展为例。

php源码编译安装

下载源码包并编译安装

$ wget http://cn2.php.net/distributions/php7-1.0.tar.gz
$ tar -zxvf php7-1.0.tar.gz
$ cd php7-1.0
$ ./configure --prefix=$HOME/php7/book/php7-1.0/output --enable-fpm
$ make && make install

./configure 是用来检测你的安装平台的目标特征的,并做些系统设置

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure -–prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的

/usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参

数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。

参数详解:

--prefix=PREFIX 文件安装到PREFIX指定目录

--bindir=DIRECTORY 为可执行程序声明目录

--libdir=DIRECTORY

库文件和动态装载模块的目录.缺省是 EXEC-PREFIX/lib.

--includedir=DIRECTORY

C 和 C++ 头文件的目录.缺省是 PREFIX/include.

--enable-syslog 启用系统日志

--enable-debug 所有程序和库以带有调试符号的方式编译。

make 是用来编译的,它从Makefile中读取指令,然后编译。

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

PEAR、PECL

PEAR PHP扩展与应用库(the PHP Extension and Application Repository)

PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成

Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式出现,功能强大,安装简单,甚至可以改改就用。使用的时候,要在代码中进行Include才能够使用。

Pecl:是PHP的标准扩展,可以补充实际开发中所需的功能,所有的扩展都需要安装,在Windows下面以Dll的形式出现,在linux下面,需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。

Pear是PHP的上层扩展,Pecl是PHP的底层扩展。

# pecl安装扩展 前提swoole必须在php官方扩展库
$ pecl install swoole

phpize 源码安装

phpize 动态安装扩展,通过phpize以建立php的外挂模块。

 curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && \
tar zxvf ./tmp/swoole.tar.gz && \
mv swoole-src* swoole-src && \
cd swoole-src && \
phpize && \
./configure \
--enable-coroutine \ #启用协程
--enable-openssl \ #启用openssl
--enable-http2 \ #启用http2
--enable-async-redis \ #启用异步redis
--enable-sockets \ #启用sockets
--enable-mysqlnd && \ #启用mysqlnd
make clean && make && sudo make install

最新文章

  1. Style样式
  2. tomcat虚拟路径
  3. GitHub学习心得之 简单操作
  4. VS2010 使用WebService
  5. Observer(观察者)-对象行为型模式
  6. jquery的匿名函数研究
  7. 虚拟机下ubuntu的minicom使用指南
  8. html复选框多行排列布局
  9. php中字符串编码
  10. sharepoint 2010 使用自定义列表模版创建列表(2)
  11. out/target/common/obj/PACKAGING/public_api.txt android.view.KeyEvent.KEYCODE_has changed value from
  12. HEVC码率控制浅析——HM代码阅读之二
  13. springcloud(五):熔断监控Hystrix Dashboard和Turbine
  14. [Loadrunner参数化]一个文件输两列参数的取值
  15. 【windows核心编程】注入DLL时BUG排除与调试
  16. 【emWin】例程二十八:窗口对象——Menu
  17. tomcat使用同一个http端口如何配置多个web项目?
  18. Android 虹软免费人脸识别 SDK开发
  19. Visual Studio配置C/C++-PostgreSQL(9.6.3)开发环境(ZT)
  20. tensorflow serving 编写配置文件platform_config_file的方法

热门文章

  1. 多个List 或 Array 进行 合并
  2. 【随记】Sql Server 2008 R2 备份时“无法打开备份设备”
  3. 数据结构Java版之递归与迭代算法(五)
  4. Tuxedo 介绍
  5. [转]MATLAB 2018b 中文版下载与安装教程
  6. Java TreeMap使用
  7. 手写HashMap实践
  8. C++ atof 函数
  9. CMU Database Systems - Parallel Execution
  10. XML 中的 xmlns 等属性的意义