Think-Swoole教程之安装
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 插件安装完成。
以上是Think-Swoole教程之安装的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

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

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

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

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

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

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

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

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