起因
一直想用workman做WebSocket,后来发现 Swoole 似乎更方便一些,于是今天早上公司没有什么事情,就装了一下 Swoole 来玩玩!
先看看 Swoole的介绍:
Swoole:重新定义PHP
PHP语言的异步、并行、高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
我用的是Centos6.5,PHP版本是5.6
首先我们需要下载 Swoole 扩展 到服务器某个目录,
swoole扩展下载地址:https://github.com/swoole/swoole-src/releases
我服务器上安装了git,所以直接clone下来
1 |
git clone https://github.com/swoole/swoole-src.git |
下载完以后
我们cd 进入swoole的下载目录,一个一个来执行以下命令:
1 2 3 4 |
phpize ./configure --enable-async-mysql sudo make sudo make install |
注意: 如果安装失败,可能是需要安装Xdebug这个扩展,所以检查自己是否安装了xDebug
1 |
php -m |
查看已安装的扩展,
安装xdebug 以后, 继续执行一次上面的操作,成功可以在当前目录的 modules目录看到 swoole.so文件,然后把这个文件放在PHP扩展 目录,
注意: 如果找不到扩展目录,建议自己建立一个文件夹,以后专门放PHP扩展,
例如我在usr 目录建立了一个ext 目录放php扩展.
1 |
mkdir ext |
然后把 swoole.so文件复制到这个目录
之后找到php.ini文件
1 |
whereis php |
可以找到你的PHP安装文件,然后进入目录编辑php.ini
1 |
vim php.ini |
在php.ini文件里面加入以下内容[‘因为我一起装了xdebug’]
1 2 |
extension=/usr/ext/swoole.so extension=/usr/ext/xdebug.so |
这里的/usr/ext/.. 就是自定义的php扩展文件路劲
注意,这里需要重启web服务才可以.
注意这里,现在你使用php -m 是看不到这两个扩展的,反正我自己看不到,暂时不知道什么原因…感觉坑坑的…
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 32 33 34 35 36 37 38 39 40 41 42 43 |
# php -m [PHP Modules] bcmath bz2 Core ctype curl date dom ereg filter gd gettext hash iconv json libxml mbstring mcrypt mysql mysqli mysqlnd openssl pcre PDO pdo_mysql pdo_sqlite Phar posix Reflection session SimpleXML sockets SPL sqlite3 standard tokenizer xml xmlreader xmlwriter zip zlib [Zend Modules] |
我们可以在站点下随便建一个文件,输入
1 2 |
<php phpinfo(); |