编译安装

最后更新于:2022-04-02 06:15:47

# 编译安装 [TOC] `Swoole`扩展是按照`PHP`标准扩展构建的。使用`phpize`来生成编译检测脚本,`./configure`来做编译配置检测,`make`进行编译,`make install`进行安装。 * **请下载`releases`版本的`swoole`,直接从`github`主干上拉取最新代码可能会编译不过** * **如无特殊需求, 请务必编译安装`swoole`的最新版本** * 如果当前用户不是`root`,可能没有`PHP`安装目录的写权限,安装时需要`sudo`或者`su` * 如果是在`git`分支上直接`git pull`更新代码,重新编译前务必要执行`make clean` ## 安装准备 安装前必须保证系统已经安装了下列软件 * `php-7.0`或更高版本 * `gcc-4.8`或更高版本 * `make` * `autoconf` * `pcre`(`CentOS`系统可以执行命令:`yum install pcre-devel`) ## 下载地址 * [https://github.com/swoole/swoole-src/releases](https://github.com/swoole/swoole-src/releases) * [http://pecl.php.net/package/swoole](http://pecl.php.net/package/swoole) * [http://git.oschina.net/swoole/swoole](http://git.oschina.net/swoole/swoole) 下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装 ## 新手编译示例 ~~~ cd swoole phpize (ubuntu 没有安装phpize可执行命令:sudo apt-get install php-dev来安装phpize) ./configure make sudo make install ~~~ ## 进阶完整编译示例 > 初次接触swoole的开发者请先尝试上方的简单编译,如果有进一步的需要,可以根据具体的需求和版本,调整以下示例的编译参数 [编译参数参考](编译参数.md) 以下脚本会下载并编译`master`分支的源码, 需保证你已安装所有依赖, 否则会遇到各种依赖错误 ~~~ mkdir -p ~/build && \ cd ~/build && \ rm -rf ./swoole-src && \ 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 \ --enable-http2 \ --enable-async-redis \ --enable-sockets \ --enable-mysqlnd && \ make clean && make && sudo make install ~~~ ## PECL > 注意: PECL发布时间晚于Github发布时间 `Swoole`项目已收录到`PHP`官方扩展库,除了手工下载编译外,还可以通过`PHP`官方提供的`pecl`命令,一键下载安装 ~~~ pecl install swoole ~~~ ## 配置php.ini 编译安装成功后,修改`php.ini`加入 ~~~ extension=swoole.so ~~~ 通过`php -m`或`phpinfo()`来查看是否成功加载了`swoole.so`,如果没有可能是`php.ini`的路径不对,可以使用`php --ini`来定位到`php.ini`的绝对路径。
';