前言:
之前有尝试使用源码安装php7,本次分享主要是学习安装了Swoole.我听过一个大牛曾经说过,Swoole是php的新世界,不会使用Swoole的php工程师不是一名合格的php工程师.我一听,那还得了.赶紧学习
下载安装包
swoole官网里有下载版本,选择你需要的版本,会跳转到swoole的一个码云或者是一个github
都是使用的git.那这个就比较方便了.直接git clone下来就可以了
git clone https://gitee.com/swoole/swoole.git
克隆下来就会有个文件名叫swoole的安装包
编译安装
其实安装Swoole的思路和安装php大体是一样的.都是先编译configure 然后make && make install
但是当我进入swoole的文件时,发现并没有我们熟悉的configure文件
其实安装这种扩展分为两种:
- 编译php时候安装的扩展
- php安装完成后,外挂到php上的扩展
我们这里的Swoole就是属于第二种.我们要让Swoole变成我们php外挂模块,则需要一个php命令
那就是phpize
如果配置了环境变量则可以直接使用phpize命令
phpize
如果报这个错的话,就是没有安装autoconf
解决方案也简单
yum install autoconf
安装完成后,再一次使用phpize就可以了
如果没有报错的话,我们再查看下安装包里的文件,就可与发现里面多了些之前没有的文件,报错我们需要的configure文件也有了
那么现在我们就可以执行编译了,同样 我们可以使用 configure --help 查看可以配置信息
#我们编译需要指定一个php-config的文件
./configure --with-php-config=/service/php/bin/php-config
如过出现一下报错
出现该情况是由于c++编译器的相关package没有安装
解决方法就是安装一个c++的编辑器
yum install gcc-c++
安装完成后,直接重新编译.编译成功后依然还是老套路
make && make install
如图显示,我们的扩展编译到了这个目录面去了.在linux中扩展文件的后缀一般是.so
检查扩展
我们cd到扩展目录查看
如图我们的扩展目录里面已经有了swoole.so文件,说明我们已经安装成功.
6月4日更新
虽然我们之前已经安装好了swoole,但是我们的php现在还并不能使用它,因为我们知道php安装扩展是需要在php.ini中去配置一下才能生效的
;加入swoole扩展
extension=swoole
只需要这一句代码就可以了
那么现在我们如何去判断swoole到和php双剑合璧了吗?
那么这里我们就要用到swoole安装包里的demo
#这里是swoole安装包的位置里面的examples文件夹下的server文件夹
cd /root/downloads/swoole/examples/server
里面有个echo.php
这是一个php使用swoole的一个demo
我们现在试着运行下这个demo
php echo.php
我们发现我们使用的php命令进入了持续执行的状态,如下图.说明我们的swoole服务启动了
那么我来佐证下我们的观点,之前我们echo.php中发现,swoole服务需要监听9051端口
那么我看看9051端口的状态便知道是否在运行了
lsof -i:9501
那么现在我们尝试关掉echo.php的进程呢?
我们使用Ctrl+C来关闭echo.php的执行
我再次查看端口状态
我们发现端口并没有被占用了.这也进一步证明了我们的swoole服务是安装好了
好了关于swoole 先展示写到这里,这篇文章我会继续更新.如果有写错的地方,希望大神指正谢谢
以上