首页 php框架 ThinkPHP Think-Swoole教程之安装

Think-Swoole教程之安装

Sep 14, 2020 am 09:27 AM
think-swoole

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

推荐教程:《thinkphp》《swoole教程

安装准备

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

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
登录后复制

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

企业微信截图_16000468811830.png

错误一:

我安装好执行上述命令的时候报错了,查看报错提示,发现是不能使用 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 ,则可以正常访问:

企业微信截图_16000466453453.png

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

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

以上是Think-Swoole教程之安装的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

TP6 Think-Swoole RPC服务的性能优化与调试 TP6 Think-Swoole RPC服务的性能优化与调试 Oct 12, 2023 am 11:16 AM

TP6Think-SwooleRPC服务的性能优化与调试一、引言随着互联网的迅猛发展,分布式计算已经成为了现代软件开发中不可或缺的一部分。在分布式计算中,RPC(RemoteProcedureCall,远程过程调用)是一种常用的通信机制,通过它可以实现跨网络的方法调用。Think-Swoole作为一个高性能的PHP框架,可以很好地支持RPC服务。但是

TP6 Think-Swoole RPC服务的高可扩展性与分布式部署 TP6 Think-Swoole RPC服务的高可扩展性与分布式部署 Oct 12, 2023 am 11:07 AM

TP6(ThinkPHP6)是一款基于PHP的开源框架,具有高可扩展性与分布式部署的特点。本文将介绍如何使用TP6配合Swoole扩展,搭建一个具备高可扩展性的RPC服务,并给出具体的代码示例。首先,我们需要安装TP6和Swoole扩展。在命令行中执行以下命令:composerrequiretopthink/thinkpeclinstallswo

TP6 Think-Swoole RPC服务的数据加密与身份认证机制 TP6 Think-Swoole RPC服务的数据加密与身份认证机制 Oct 12, 2023 am 11:29 AM

TP6Think-SwooleRPC服务的数据加密与身份认证机制随着互联网的快速发展,越来越多的应用程序需要进行远程调用,以实现不同模块之间的数据交互和功能调用。在这样的背景下,RPC(RemoteProcedureCall)就成了一种重要的通信方式。TP6Think-Swoole框架可以实现高性能的RPC服务,本文将介绍如何通过数据加密与身份认证

TP6 Think-Swoole的RPC服务与消息队列的集成与应用 TP6 Think-Swoole的RPC服务与消息队列的集成与应用 Oct 12, 2023 am 11:37 AM

TP6Think-Swoole的RPC服务与消息队列的集成与应用在现代软件开发中,RPC服务(RemoteProcedureCall)和消息队列是常见的技术手段,用于实现分布式系统中的服务调用和异步消息处理。在TP6框架中集成Think-Swoole组件,可以轻松实现RPC服务和消息队列的功能,并且提供了简洁的代码示例,方便开发者理解和应用。一、RPC

TP6 Think-Swoole RPC服务的高并发请求处理与调度 TP6 Think-Swoole RPC服务的高并发请求处理与调度 Oct 12, 2023 pm 12:33 PM

TP6Think-SwooleRPC服务的高并发请求处理与调度随着互联网技术的不断发展,网络应用的并发请求处理和调度成为了一个重要的挑战。在TP6框架中,使用Think-Swoole扩展可以实现RPC(RemoteProcedureCall)服务的高并发请求处理与调度。本文将介绍如何在TP6框架中搭建一个基于Think-Swoole的RPC服务,并提

TP6 Think-Swoole RPC服务的安全防护与授权验证 TP6 Think-Swoole RPC服务的安全防护与授权验证 Oct 12, 2023 pm 01:15 PM

TP6Think-SwooleRPC服务的安全防护与授权验证随着云计算和微服务的兴起,远程过程调用(RPC)成为了开发者们日常工作中必不可少的一部分。在开发RPC服务时,安全防护和授权验证是非常重要的,以确保只有合法的请求可以访问和调用服务。本文将介绍如何在TP6Think-Swoole框架中实现RPC服务的安全防护和授权验证。一、RPC服务的基本概念

TP6 Think-Swoole RPC服务的性能测试与性能调优 TP6 Think-Swoole RPC服务的性能测试与性能调优 Oct 12, 2023 pm 02:19 PM

TP6Think-SwooleRPC服务的性能测试与性能调优一、引言随着互联网的高速发展,分布式系统的应用越来越广泛。而在分布式系统中,RPC(远程过程调用)是一种常见的通信机制,它可以让不同节点的服务相互调用,实现分布式系统的协同工作。在TP6框架中,Think-Swoole作为一种高性能的Swoole驱动,提供了方便的RPC服务支持。本文主要介绍了T

TP6 Think-Swoole构建的RPC服务与微服务架构实践案例 TP6 Think-Swoole构建的RPC服务与微服务架构实践案例 Oct 12, 2023 pm 12:04 PM

TP6Think-Swoole构建的RPC服务与微服务架构实践案例引言:随着互联网的快速发展以及业务规模的扩大,传统的单体架构已经无法满足大规模业务场景的需求。因此,微服务架构应运而生。在微服务架构中,RPC(RemoteProcedureCall)服务是实现服务间通信的一种重要方式。通过RPC服务,各个微服务之间可以方便、高效地互相调用。在本篇文章中

See all articles