Swoole 是 PHP 的一个扩展,因此安装 Swoole 本质上就是安装一个 PHP 扩展。Swoole 仅支持 Linux、FreeBSD、MacOS 三种操作系统。

安装准备

安装前必须保证系统已经安装了下列软件

php-7.1或更高版本

gcc-4.8或更高版本

make

autoconf

一般情况下前三个都已安装,需要安装autoconf这个工具。

Linux:yum install autoconf

Mac:brew install autoconf

安装 PHP 的 Swoole 扩展

1、下载 Swoole

下载地址:https://github.com/swoole/swoole-src/releases

一般情况下,下载最新版本即可。

2、解压到 PHP 扩展目录中,例如我的解压路径是:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/

解压出来的目录可以命名为 swoole 。

3、进入到解压的 swoole 目录中,执行phpize命令,若该命令没有添加到环境变量的话,可以执行绝对路径

sudo /Applications/MAMP/bin/php/php7.2.10/bin/phpize

由于我的电脑上存在多个 PHP 版本,所以我指定了现在使用的版本来执行命令。

命令路径:/php安装目录/bin/phpize

4、执行命令:

./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.10/bin/php-config --enable-openss --enable-http2

具体路径根据实际情况修改。

5、执行命令:

make && make install

成功后,会出现安装的地址,例如我的地址是:

/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/

进入这个目录,看里面是否有 swoole.so 。

6、在 php.ini 中添加 swoole 扩展。

一定要选择当前使用的 PHP 版本配置文件,可以使用php --ini命令查看。我的是在:

/Applications/MAMP/bin/php/php7.2.10/conf/php.ini

打开 php.ini 文件,添加扩展:

extension=”/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/swoole.so”

如果使用 MAMP 集成环境的话,除了修改上述 php.ini 文件,还需要修改集成环境动态配置的 php.ini 文件,可在面板 php 选项中点击版本后的箭头,或者 File -> Edit Template -> PHP -> PHP 7.xx -> php.ini 进行修改。

7、安装完成,执行命令:

php -m

看列表中是否有 swoole 模块,若有则安装成功。

执行php --ri swoole命令,可查看 swoole 相关信息。

8、测试

进入到下面的路径,具体根据实际修改:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/swoole/examples/server

里面有个 echo.php 文件,打开后看到有一行代码:

$serv = new swoole_server("0.0.0.0", 9501);

意思是监听所有 IP ,端口号为9501。

在命令行中,输入命令:

php echo.php

若命令在执行中,没有光标,也不报错,那么新建命令窗口,并输入如下命令:

Linux:

netstat -anp | grep 9501

Mac:

ps -ef | grep 9501

可以看到这个进程已经在执行中了,并且有 pid 进程号,测试成功!

在 ThinkPHP 框架中安装 Think-Swoole 扩展

PHP 扩展安装好之后,就要在框架中安装扩展了。

首先,我们要先下载好 ThinkPHP 框架(Think-Swoole 扩展目前支持ThinkPHP 5.1 和 ThinkPHP 6,为了演示一些新功能,后面文章中将会使用最新的 ThinkPHP 6 框架),然后到框架根目录下执行 Think-Swoole 的安装命令:

ThinkPHP 5.1 安装命令

ThinkPHP 6 安装命令

安装完成后,执行命令:

php think swoole

若看到下图提示,则插件可以正常使用:

错误一:

我安装好执行上述命令的时候报错了,查看报错提示,发现是不能使用 Xdebug 这个插件,关闭就可以了。MAMP 环境下,在 php 选项里可直接关闭。

错误二:

[Swoole\Exception]

failed to listen server port[127.0.0.1:80], Error: Permission denied[13]

打开 app/config/swoole.php ,可以看到 port 对应的是 80 端口,因为 Linux 和 Mac 中,1024 及以下端口只有超级管理员有使用权限,因此可将端口改为 9501 即可( host 默认是 127.0.0.1 ,代表监听本地地址,这里顺便更改为 0.0.0.0 ,表示监听所有地址)。

swoole 服务开启后,来测试一下,浏览器中输入 127.0.0.1:9501 ,则可以正常访问:

同时这也表明,Swoole 自带 HTTP Server,帮我们打开了一个 http 服务,作用等效于 Apache 和 Nginx。

至此,Think-Swoole 插件安装完成。

swoole 2.x使用php什么版本,Think-Swoole 教程(二)安装相关推荐

  1. php cli swoole mysql_[了解实践]Swoole、PHP与MySQL:连接池,swoole扩展实现真正的PHP数据库连接池。...

    背景:swoole的出现,包括PHP出现前,在新浪企业邮箱就有基于Sun Solaris 系统上面用c++写Mysql的长连接,那时候的长连接是基于RPC实现,对mysql那一端形成一个远程过程的调用 ...

  2. python3.7扩展库是什么_Python3.4以后的版本中,____________库用于安装管理Python扩展包,________________库用于发布Python包。_学小易找答案...

    [填空题]Python3.4以后的版本中,____________库用于安装管理Python扩展包,________________库用于发布Python包. [判断题]Directions: The ...

  3. CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略

    CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略 目录 本地电脑的NVIDIA显卡驱动版本正确匹配对应的CUDA版本

  4. npm教程:如何查看TypeScript版本、卸载TypeScript和安装TypeScript

    npm教程:如何查看TypeScript版本.卸载TypeScript和安装TypeScript TypeScript是JavaScript的一个超集,也可以编译成JavaScript:适用任何浏览器 ...

  5. Centos7安装Python3并更改默认版本为python3(编译安装)

    Centos7安装Python3并更改默认版本为python3(编译安装) CentOS7自带的有python环境, 但是版本是2.7 查看Python的位置 [root@centos bin]# w ...

  6. centos 安装PHP7并且与其他版本共存并且为PHP7安装redis扩展

    centos 安装PHP7并且与其他版本共存 wget -c -Ophp-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/ ...

  7. mysql安装了老版本_Windows环境下MySQL安装教程

    MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是 ...

  8. linux修改python版本修改哪个配置文件_linux安装python修改默认python版本方法

    linux默认是安装了python,默认是安装python2.6.6,可能安装的版本是不能符合我们需要的python要求的.我们需要重新安装python的版本,今天演示一下安装python3 首先下载 ...

  9. 泰拉瑞亚自建服务器,泰拉瑞亚1.4版本服务器创建教程

    泰拉瑞亚创建服务器是联机游戏的关键步骤,1.4版本如何开服?下面给大家分享一个泰拉瑞亚1.4版本服务器创建教程 准备创建Terraria for PC服务器,准备工作如下: 1.检查自己的配置,通常分 ...

  10. WIN11自定义版本镜像下载教程

    WIN11自定义版本镜像下载教程. 1.打开UUP dump官网"https://uupdump.net/". 2.选择下方最新DEV开发者预览版WIN11 22000.51,并选 ...

最新文章

  1. Nature:功能微生物组研究典范—采用甘露糖苷选择性抑制尿路致病性大肠杆菌...
  2. Linux下Sed命令的用法(之替换)
  3. 〖Python〗-- Django内置Admin
  4. 前端中对象的几种创建方式
  5. C标签加EL表达式在jsp页面实现遍历后台内容
  6. 手把手教你写个ORM(一)
  7. 俺重装系统后一些小配置(给自己备忘)
  8. qtp如何软件测试,QTP测试流程
  9. 高速PCB阻抗设计阻抗控制内参
  10. AD5933的直流偏置和量程自动切换问题
  11. 2.reflect.TypeOf()
  12. 怎么快速调出计算机资源管理器,Win7下快速打开资源管理器的五个方法
  13. 【线性代数笔记】正定矩阵及其性质
  14. 使用Unity的AR Foundation导出到安卓时出现黑屏问题的可能原因
  15. 互联网晚报 | 周杰伦起诉网易不正当竞争案庭审结束;特斯拉中国工厂普通工人月薪1万块;SpaceX“星舰”发射计划推迟...
  16. LuatOS | 全新在线模拟器,随时随地发挥创意
  17. docker 常用命令(二)——容器命令
  18. ae在哪里直接复制合成_如何在AE里复制一个层
  19. JAVA使用barcode4j生成条形码和二维码图片以及带logo的二维码,验证码图片
  20. 有没有后悔当初选择了做程序员?

热门文章

  1. E 排队(排列组合)[牛客小*白月赛61]
  2. PDPS软件:碰撞检测功能介绍与使用方法
  3. 自建图床之一:使用幻想领域搭建免费新浪图床网站
  4. java linest_Java运行环境搭建的图文教程
  5. 计算广告(一):在线广告概述
  6. 世界上最优秀的二十款防火墙
  7. 计算机屏幕尺寸不是全屏,电脑屏幕有黑边撑不满怎么办_电脑屏幕不能全屏显示的解决方法...
  8. win10分屏快捷键无法使用_Win10 1909碰上多任务如何快速四分屏 Win10 1909分屏快捷键无效怎么办...
  9. prometheus+alertmanager+webhook实现自定义监控报警系统
  10. 重庆大学计算机类专业分数线,重庆大学录取分数线 2019年重庆大学各专业录取分数线...