虚拟机安装swoole

编译安装

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)

检查命令

  php -v 查看php版本

  gcc -v 查看gcc版本

  rpm -qa make 检查是否安装make。

  rpm -qa autoconf 检查是否安装autoconf。

  rpm -qa pcre 检查是否安装pcre。

下载地址

下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装

(1)建立一个目录放swoole的安装文件

  mkdir /opt

  cd /opt

(2)打开swoole的github地址:https://github.com/swoole/swoole-src/releases
(3)找到需要的版本,例如4.3.4,下载:

  wget -c https://github.com/swoole/swoole-src/archive/v4.3.4.tar.gz

(4)解压:

tar -xzvf v4.3.4.tar.gz

新手编译示例

cd swoole-src-4.3.4
phpize (ubuntu 没有安装phpize可执行命令:sudo apt-get install php-dev来安装phpize)
那么现在我们就可以执行编译了,同样 我们可以使用 configure --help 查看可以配置信息
#我们编译需要指定一个php-config的文件 ./configure --with-php-config=/usr/local/php/bin/php-config
 make sudo make install 

进阶完整编译示例

初次接触swoole的开发者请先尝试上方的简单编译,如果有进一步的需要,可以根据具体的需求和版本,调整以下示例的编译参数

编译参数参考

以下脚本会下载并编译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 -mphpinfo()来查看是否成功加载了swoole.so,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径。

验证是否安装成功  

php --ri swoole

查看版本:

php --ri swoole | grep Version
那么这里我们就要用到swoole安装包里的demo

 

#这里是swoole安装包的位置里面的examples文件夹下的server文件夹

cd /opt/swoole-src-4.3.4/examples/server

vim echo.php

 

 这是一个php使用swoole的一个demo
我们现在试着运行下这个demo

php echo.php

我们发现我们使用的php命令进入了持续执行的状态,如下图.说明我们的swoole服务启动了

 

 那么我看看9051端口的状态便知道是否在运行了

lsof -i:9501

 

 

使用Ctrl+C来关闭echo.php的执行

 

 关闭后9501端口未被占用,进一步证明了我们的swoole服务是安装好了



posted @ 2020-05-09 18:32  华诺  阅读(505)  评论(0编辑  收藏  举报