Swoole:面向生产环境的 PHP 异步网络通信引擎
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务
Swoole 可以用来做网络通信、异步操作文件、毫秒级定时器等等,今天就来说一下 Swoole 入门前的准备工作:安装 PHP7 和 Swoole 扩展
安装PHP7
Swoole 作为 PHP 的扩展,必不可少的就是 PHP 了
Swoole 虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数,而 Swoole 扩展在运行后会接管PHP的控制权,进入事件循环,当IO事件发生后,Swoole 会自动回调指定的PHP函数
先进入到一个目录中,获取我们的PHP包,进行解压
$ cd /usr/local/src/
$ wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
$ tar jxvf php-7.1.6.tar.bz2
解压完成后,进入到PHP的目录当中进行配置,使用如下命令
$ cd php-7.1.6/
$ ./configure --prefix=/usr/local/php7
在配置结束可能会报错,如下图
报错:checking for gcc... no
,表示没有安装gcc,使用以下命令进行安装
$ yum -y install gcc
$ yum -y install libxml2 libxml2-devel
同样也可能会报错checking libxml2 install dir... no
,所以也最好安装一下
看到如上图所示就表示配置成功了,下一步,进行编译安装。使用命令:
$ make && make install
如果报错-bash:make:command not found
,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可
$ yum -y install make
如下图所示,表示为编译成功
开始下一步操作,复制配置文件到PHP目录中,命令:
$ cp /usr/local/src/php-7.1.6/php.ini-development /usr/local/php7/lib/php.ini
然后一切完成后,我们需要将PHP加入环境变量中,打开环境变量配置文件,写入以下配置,然后重启服务器或者使用命令让终端生效配置
$ # 打开环境变量配置文件
$ vi ~/.bash_profile
$ # 写入以下配置
$ alias php=/usr/local/php7/bin/php #PHP目录
$ # 让终端生效
$ source ~/.bash_profile
如果没有报错,使用php -v
能够查看版本号表示配置成功,也就是我们的PHP7安装成功
安装Swoole
使用命令获取 Swoole 的包,Swoole 项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装 Swoole
$ yum install pcre-devel
$ pecl install swoole
$ # 或者手动安装
$ wget http://pecl.php.net/get/swoole-2.2.0.tgz
$ tar zxvf swoole-2.2.0.tgz
解压以后进入到Swoole的目录当中,通过PHP的phpize文件生成swoole的配置文件
如果报错Cannot find autoconf
的话,使用yum安装一下
$ yum -y install m4 autoconf
然后再执行下面的操作,就可以生成成功,成功以后目录下如图的绿色文件
$ ./configure --with-php-config=/usr/local/php7/bin/php-config
生成成功以后,我们就可以进行下一步操作:使用make命令进行编译安装,编译安装成功以后如下图所示
编译安装完成以后配置php.ini
,加入一下配置
$ extension=swoole.so
通过php -m
或phpinfo()
来查看是否成功加载了Swoole,如果没有可能是php.ini
的路径不对,可以使用php --ini
来定位到php.ini
的绝对路径,加载到了就表明Swoole安装成功
我在Mac环境下总是安装不了swoole
@Finn 别用mac自带的php,brew重新装一个
@沈唁 感谢 😆
老大,提个意见啊,命令能不能不用截图的啊,照着学,还得敲键盘啊
@探路侠 – -。这个都是文本命令啊,没放截图
centos7 PHP7都听说过,Swoole就第一次听说,只能说懂技术的就是牛啊
很棒很详细,博主威武
大佬6666666666666
沙发,已阅