swoft是基于swoole协程2.x的高性能PHP微服务框架,内置http服务器

网友投稿 653 2022-10-21

swoft是基于swoole协程2.x的高性能PHP微服务框架,内置http服务器

swoft是基于swoole协程2.x的高性能PHP微服务框架,内置http服务器

简介

首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈组件化框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。

基于 Swoole 扩展内置协程网络服务器强大的 AOP (面向切面编程)灵活完善的注解功能全局的依赖注入容器基于 PSR-7 的 HTTP 消息实现基于 PSR-14 的事件管理器基于 PSR-15 的中间件基于 PSR-16 的缓存设计可扩展的高性能 RPC完善的服务治理,熔断,降级,负载,注册与发现数据库 ORM通用连接池协程 Mysql, Redis, RPC, HTTP 客户端协程和同步阻塞客户端无缝自动切换协程、异步任务投递自定义用户进程RESTful 支持国际化(i18n)支持高性能路由快速灵活的参数验证器别名机制强大的日志系统跨平台热更新自动 Reload

文档

中文文档

QQ 交流群: 548173319

环境要求

PHP 7.0 +Swoole 2.0.12 +, 需开启协程和异步RedisHiredisComposer

安装

手动安装

Clone 项目安装依赖 composer install

Composer 安装

composer create-project swoft/swoft swoft

Docker 安装

docker run -p 80:80 swoft/swoft

Docker-Compose 安装

cd swoftdocker-compose up

配置

若在执行 composer install 的时候由程序自动复制环境变量配置文件失败,则可手动复制项目根目录的 .env.example 并命名为 .env,注意在执行 composer update 时并不会触发相关的复制操作

# ServerPFILE=/tmp/swoft.pidPNAME=php-swoftTCPABLE=trueCRONABLE=falseAUTO_RELOAD=true# HTTPHTTP_HOST=0.0.0.0HTTP_PORT=80# TCPTCP_HOST=0.0.0.0TCP_PORT=8099TCP_PACKAGE_MAX_LENGTH=2048TCP_OPEN_EOF_CHECK=false# CrontabCRONTAB_TASK_COUNT=1024CRONTAB_TASK_QUEUE=2048# SettingsWORKER_NUM=1MAX_REQUEST=10000DAEMONIZE=0DISPATCH_MODE=2LOG_FILE=@runtime/swoole.logTASK_WORKER_NUM=1

启动

帮助命令

[root@swoft bin]# php swoft -h ____ __ _/ ___|_ _____ / _| |_\___ \ \ /\ / / _ \| |_| __| ___) \ V V / (_) | _| |_|____/ \_/\_/ \___/|_| \__|Usage: php swoft -hCommands: entity the group command list of database entity rpc the group command list of rpc server server the group command list of http-serverOptions: -v,--version show version -h,--help show help

HTTP启动

是否同时启动RPC服务器取决于.env文件配置

// 启动服务,根据 .env 配置决定是否是守护进程php bin/swoft start// 守护进程启动,覆盖 .env 守护进程(DAEMONIZE)的配置php bin/swoft start -d// 重启php bin/swoft restart// 重新加载php bin/swoft reload// 关闭服务php bin/swoft stop

RPC启动

启动独立的RPC服务器

// 启动服务,根据 .env 配置决定是否是守护进程php bin/swoft rpc:start// 守护进程启动,覆盖 .env 守护进程(DAEMONIZE)的配置php bin/swoft rpc:start -d// 重启php bin/swoft rpc:restart// 重新加载php bin/swoft rpc:reload// 关闭服务php bin/swoft rpc:stop

更新日志

更新日志

协议

Swoft 的开源协议为 Apache-2.0,详情参见LICENSE

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一个简单的教程,通过一些有用的工具优化go程序
下一篇:软件设计模式学习——介绍SPI
相关文章

 发表评论

暂时没有评论,来抢沙发吧~