本篇内容介绍在centos 7 下 php 的扩展swoole 安装。
安装准备:
php7 +、gcc-4.8+、make 、autoconf 、pcre
( 安装php7 的时候这些软件都是必备的 ) 。
我的环境centos7 lnmp( php7.1)
下载安装
这里给出码云的下载地址:https://gitee.com/swoole/swoole.git。
git clone https://gitee.com/swoole/swoole.git
cd 到swoole 目录下,可以看到是没有 configure 这个文件的
执行 phpize ( 如果没有将php 加入到path 环境变量,写绝对路径 如: /usr/local/php/bin/phpize )
phpize
phpize 命令是用来准备 PHP 扩展库的编译环境的
编译安装
可以先 ./configure --help 查看下编译所需参数
./configure --with-php-config=/usr/local/php/bin/php-config --enable-sockets --enable-swoole --enable-mysqlnd
swoole 编译安装需要指定php-config 文件位置,其它参数根据自己情况而定。
make && make install
编译完成后可看到
编辑php.ini 配置文件,让 php 支持swoole
extension=swoole.so
使用php -m 验证 php 是否支持swoole扩展
php -m |grep swoole
重启php-fpm
systemctl restart php-fpm
测试运行
这里看下swoole/examples/server 目录下的echo.php 这个demo
在demo 中可以看到要监听 9501 这个端口,正常情况下,接收到客户端发送的数据,附带一个hello 回给客户端。
运行这个demo
php echo.php
这里使用nc 命令来模拟客户端,与echo.php 进程进行通信
nc 127.0.0.1 9501
注:如果没有安装nc 命令,使用yum -y install nc 安装即可。nc 命令的详解参考:https://www.oschina.net/translate/linux-netcat-command 。
客户端发送数据情况:
服务端情况: