扩展安装
以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