洞察探索open banking如何通过小程序容器技术助力金融企业实现数据安全和数字化转型
802
2022-10-12
swoft - 基于 Swoole 原生协程,新时代PHP高性能协程框架(swoft 禁用超全局变量如何解决)
简介
首个基于 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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~