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 插件安装完成。

ffpemg扩展 安装php_ThinkSwoole 教程(二)安装相关推荐

  1. python3.6.3安装过程_python3.6.3安装图文教程 TensorFlow安装配置方法

    本文主要介绍Python3.6及TensorFlow的安装和配置流程. 一.Python官网下载自己电脑和系统对应的Python安装包. 网址:下载地址 一直往下拉到Files,这里我下载的是Wind ...

  2. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5...

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  3. vnc安装linux教程,Centos7安装配置vncserver详细教程

    CentOS7安装配置vncserver教程 一.安装VNC 首先要保证目标服务器安装有图形化环境,Linux系统下常见的桌面环境有GNOME和KDE,这里我们首先通过Group的方式安装GNOME桌 ...

  4. 如何安装Windows操作系统?(二)安装启动项杂谈

    (二)安装启动项杂谈 上面说到过,如何去选择启动项和硬件的选择. 其实在硬件没有问题的情况下,只要有一个能启动的项目就可以安装系统了. 从BIOS给出的启动项,我们可以看到以下几个启动项 1.光盘/软 ...

  5. ads2019安装教程win10 ads2019安装破解教程 ads安装助手辅助安装

    学习目标: 看ads2019安装教程轻松解决在win10电脑上完成ads2019安装 学习内容: 安装ads2019所需要的环境 看ads2019安装教程执行操作 关键地方不要选错 ads安装助手辅助 ...

  6. Oracle 10g 高级安装图文教程(二)

    第八步:为了简便起见(工作中肯定不安全),选择"所有的帐户都是用同一个口令",并输入口令,点击"下一步": 本文转自 victoryan 51CTO博客,原文链 ...

  7. a1278 win10声卡驱动_windows安装系列教程—驱动安装

    安装系统的第三步,可能也是最头疼的一步(尤其对于win7用户) 之前有文章<告别第三方驱动管理软件>链接:http://www.lofter.com/lpost/1f95d1cf_12cb ...

  8. win7安装IIS教程 win7安装IIS 教程win7 安装IIS教程

    IIS安装教程 IIS常见错误解决办法:https://blog.csdn.net/yh187138_/article/details/104278511 (1)点击控制面板 (2)点击程序 (3)点 ...

  9. python3安装scrapy教程_安装Scrapy教程

    Scrapy,是基于python的网络爬虫框架,它能从网络上爬下来信息,是data获取的一个好方式.于是想安装下看看. 进到它的官网,安装的介绍页面 有3种装法,一个是从pip,一个是从源码编译,一个 ...

最新文章

  1. MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB
  2. CocoaPods was not found 解决
  3. C++实现树的基本操作,界面友好,操作方便,运行流畅,运用模板
  4. 在Linux中制作实用程序(MakeFile)
  5. android程序怎么导出数据库,将android程序中的数据库导出到SD卡
  6. 自建lol服务器,终于干正事了?英雄联盟宣布:艾欧尼亚服务器将进行扩容
  7. 小学六年级学生写的 “线段树”解析,厉害了!
  8. 【转】请求处理机制其二:Django中间件的解析
  9. Android之反编译
  10. uboot移植主要思路
  11. 九九乘法表之循环嵌套的奇妙
  12. 2021-03-15
  13. 基于活动场景签到微会动平台上线发布两款酷炫微信现场扫码签到产品
  14. mysql在触发器中调用存储过程_mysql 触发器中调用存储过程
  15. 我是一个flag 侠
  16. 912计算机专业综合,西安交通大学2018年计算机考研814、912考试大纲
  17. python解决百钱百鸡问题
  18. 四年上册级计算机教学计划,2021年四年级信息技术教学计划集锦5篇
  19. vfp 连接mysql数据库_VFP与SQL远程异构数据库_mysql
  20. HI3518linux--搭建开发环境

热门文章

  1. sqoop 基本使用
  2. go语言编程之字符串操作
  3. POJ 3687 拓扑排序
  4. Swift 烧脑体操(五)- Monad
  5. 从SAE又回到BAE,感觉好轻松
  6. Java 动态语言
  7. linux fifo 视频,Linux FIFO学习
  8. php常用案例,PHP常用数组处理函数总结,附带运行案例
  9. mt4指标最精准组合指标_股市最赚钱的黄金指标组合:KDJ+MACD指标的配合使用,助于买在低点卖在高点!...
  10. oracle SQL以结尾函数,Oracle学习笔记--SQL查询和SQL函数(转) -- 迷失de天空 -- 编程爱好者......