安装 Swoole 4.4x

安装环境

  • CentOS 7
  • PHP 7.2.30

可以提前安装如下软件,也可以根据安装PHP和Swoole中出现需要的软件再安装

1
# yum -y install gcc gcc-c++ autoconf automake make libxml2 libxml2-devel

源码安装PHP

使用Swoole扩展需要PHP7.1以上的版本,我在PHP官网下载的是PHP7.2.30版本

1
2
# cd /usr/local/src
# wget https://www.php.net/distributions/php-7.2.30.tar.gz

解压PHP并进入解压后的文件夹中

1
2
# tar -zxvf php-7.2.30.tar.gz
# cd php-7.2.30

配置、编译和安装PHP(我把PHP安装目录自定义了)

1
2
# ./configure --prefix=/usr/local/php72
# make && make install

编辑 ~/.bash_profile 文件,把 alias php=/usr/local/php72/bin/php 添加到最后一行

1
# vim ~/.bash_profile

查看PHP的.ini文件有效位置

1
# php -i | grep php.ini

把解压文件夹中的 php.ini-development 复制到 PHP的.ini文件有效位置

1
# cp /usr/local/src/php-7.2.30/php.ini-development /usr/local/php72/lib/php.ini

源码安装Swoole

选择需要的Swoole版本进行下载,我是用的是4.4.x,可以使用git和下载zip,我是下载的zip

1
2
# cd /usr/local/src
# wget https://github.com/swoole/swoole-src/archive/v4.4.x.zip

解压并进去解压后的文件夹

1
2
# unzip v4.4.x.zip
# cd swoole-src-4.4.x

使用PHP的phpize进行处理,然后生成configure文件

1
# /usr/local/php72/bin/phpize

配置Swoole

1
# ./configure --with-php-config=/usr/local/php72/bin/php-config

然后编译和安装Swoole

1
# make && make install

会提示Swoole扩展安装目录为

1
## /usr/local/php72/lib/php/extensions/no-debug-non-zts-****

开启Swoole扩展

打开php的配置文件

1
# vim /usr/local/php72/lib/php.ini

添加如下信息,其中 no-debug-non-zts-20170718文件夹名称根据实际情况可能不同

1
2
[swoole]
extension=/usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/swoole.so

查看php的扩展中是否有Swoole

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# php -m

[PHP Modules]
Core
ctype
date
dom
fileinfo
filter
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
sqlite3
standard
swoole
tokenizer
xml
xmlreader
xmlwriter

[Zend Modules]

查看Swoole是否可用,打开Swoole解压文件夹,找到 examples中的server中的 echo.php,这个文件打开的是9501端口,执行这歌文件

1
2
# /usr/local/src/swoole-src-4.4.x/examples/server
# php echo.php

另起一个终端,查看9501端口是否被使用

1
2
# netstat -anp | grep 9501
tcp 0 0 0.0.0.0:9501 0.0.0.0:* LISTEN 40389/php

ctrl + c 终止 echo.php文件,然后再查看9501端口

1
# netstat -anp | grep 9501
坚持原创技术分享,您的支持将鼓励我继续创作!
0%