项目简介
本项目利用 Swoole 框架制作荣兴制冷设备有限公司网站,最初作为练手项目,后续计划发展成购物网站。荣兴制冷设备有限公司技术力量强、售后完善,在行业内处于领先且口碑良好。网站基于 Swoole 原生协程的新时代 PHP 高性能协程全栈组件化框架构建,具备高性能、全异步非阻塞 IO 等特性。
项目的主要特性和功能
- 高性能协程框架:基于 Swoole 扩展,有协程 HTTP、TCP、WebSocket 网络服务器,常驻内存,不依赖传统 PHP - FPM,实现全异步非阻塞 IO。
- 强大的编程特性:具备 AOP、灵活完善的注解功能、全局的依赖注入容器。
- 遵循标准规范:基于 PSR - 7 的 HTTP 消息实现、PSR - 14 的事件管理器、PSR - 15 的中间件、PSR - 16 的缓存设计。
- 丰富的功能组件:有可扩展的高性能 RPC、完善的服务治理、数据库 ORM、通用连接池。
- 多样化客户端:提供协程 Mysql、Redis、RPC、HTTP 客户端,协程和同步阻塞客户端可无缝自动切换。
- 任务与进程管理:支持协程、异步任务投递,可自定义用户进程。
- 其他特性:支持 RESTful、国际化,有高性能路由、快速灵活的参数验证器、别名机制、强大的日志系统和跨平台热更新自动 Reload。
安装使用步骤
环境要求
- PHP 7.0 +
- Composer
安装步骤
手动安装
- Clone 项目
- 安装依赖
composer install
Composer 安装
composer create-project swoft/swoft swoft
Docker 安装
docker run -p 80:80 swoft/swoft
Docker - Compose 安装
cd swoft
docker-compose up
配置
若执行 composer install
时程序自动复制环境变量配置文件失败,可手动复制项目根目录的 .env.example
并命名为 .env
,执行 composer update
时不会触发相关复制操作。
```
PFILE=/tmp/swoft.pid
PNAME=php-swoft
TCPABLE=true
CRONABLE=false
AUTO_RELOAD=true
HTTP_HOST=0.0.0.0 HTTP_PORT=80
WS_ENABLE_HTTP=true
TCP_HOST=0.0.0.0 TCP_PORT=8099 TCP_PACKAGE_MAX_LENGTH=2048 TCP_OPEN_EOF_CHECK=false
CRONTAB_TASK_COUNT=1024 CRONTAB_TASK_QUEUE=2048
WORKER_NUM=1 MAX_REQUEST=10000 DAEMONIZE=0 DISPATCH_MODE=2 LOG_FILE=@runtime/swoole.log TASK_WORKER_NUM=1 ```
管理命令
帮助命令
```text [root@swoft]# php bin/swoft -h _ __ _ / | _____ / | | ___ \ \ /\ / / _ \| || | ___) \ V V / () | | | |_/ _/_/ ___/|| _|
Usage: php bin/swoft {command} [arguments ...] [options ...]
Commands: entity The group command list of database entity gen Generate some common application template classes rpc The group command list of rpc server server The group command list of http-server ws There some commands for manage the webSocket server
Options: -v, --version show version -h, --help show help ```
HTTP Server 启动
是否同时启动 RPC 服务器取决于 .env 文件配置 ```bash php bin/swoft start
php bin/swoft start -d
php bin/swoft restart
php bin/swoft reload
php bin/swoft stop ```
WebSocket Server 启动
启动 WebSocket 服务器,可选是否同时支持 http 处理 ```bash php bin/swoft ws:start
php bin/swoft ws:start -d
php bin/swoft ws:restart
php bin/swoft ws:reload
php bin/swoft ws:stop ```
RPC Server 启动
启动独立的 RPC 服务器 ```bash php bin/swoft rpc:start
php bin/swoft rpc:start -d
php bin/swoft rpc:restart
php bin/swoft rpc:reload
php bin/swoft rpc:stop ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】