2020-11-22 19:21:29 +08:00
|
|
|
|
# 安装
|
|
|
|
|
|
|
|
|
|
|
|
> 这篇为炸毛框架以及环境的部署教程。
|
|
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
框架部署分为两部分,一部分是安装 PHP 环境,另一部分是通过 Composer 或 GitHub 拉取框架的脚手架。
|
2020-11-22 19:21:29 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
## 一键下载静态 PHP 环境和框架脚手架
|
2020-12-21 16:56:36 +08:00
|
|
|
|
|
2022-05-06 23:49:38 +08:00
|
|
|
|
从 2.4.4 版本起,炸毛框架支持一键拉取一个静态的 PHP 运行时和脚手架(如果本机内安装的 PHP 已符合要求,则不安装),只需运行下面的脚本即可。
|
2020-12-21 16:56:36 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2021-06-16 00:17:30 +08:00
|
|
|
|
# 将会把 PHP、框架都安装在此目录下
|
2022-05-06 23:49:38 +08:00
|
|
|
|
bash <(curl -fsSL https://zhamao.xin/go.sh)
|
2020-12-21 16:56:36 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
# 安装完成后的启动框架命令(2.5.0 版本后可省略掉 runtime/php 前缀)
|
2022-05-06 23:49:38 +08:00
|
|
|
|
cd zhamao-app
|
2022-05-04 17:42:07 +08:00
|
|
|
|
./zhamao server
|
2020-11-22 19:21:29 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
> 有关静态 PHP 的多种用法(如 Composer),见 [进阶 - PHP 环境高级](/advanced/php-env)
|
2020-11-22 19:21:29 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
## 使用 Docker 部署 PHP 和框架
|
|
|
|
|
|
你也可以使用 Docker 进行拉取 PHP 环境。
|
2020-11-22 19:21:29 +08:00
|
|
|
|
|
2020-12-21 16:56:36 +08:00
|
|
|
|
```bash
|
2021-06-16 00:17:30 +08:00
|
|
|
|
# 拉取 Docker 镜像
|
|
|
|
|
|
docker pull zmbot/swoole
|
2020-11-22 19:21:29 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
# 再通过 GitHub 或其他方式拉取框架脚手架
|
|
|
|
|
|
git clone --depth=1 https://github.com/zhamao-robot/zhamao-framework-starter.git
|
2020-12-21 16:56:36 +08:00
|
|
|
|
cd zhamao-framework-starter/
|
2020-11-22 19:21:29 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
# Docker 内使用 Composer 更新依赖
|
|
|
|
|
|
docker run -it --rm -v $(pwd):/app/ -p 20001:20001 zmbot/swoole composer update
|
|
|
|
|
|
docker run -it --rm -v $(pwd):/app/ -p 20001:20001 zmbot/swoole vendor/bin/start init
|
2020-11-22 19:21:29 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
# 使用 Docker 启动框架
|
2020-12-21 16:56:36 +08:00
|
|
|
|
docker run -it --rm -v $(pwd):/app/ -p 20001:20001 zmbot/swoole vendor/bin/start server
|
2020-11-22 19:21:29 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
启动后你会看到和下方类似的初始化内容,表明启动成功了
|
|
|
|
|
|
|
|
|
|
|
|
```verilog
|
|
|
|
|
|
$ vendor/bin/start server
|
2022-03-20 23:26:42 +08:00
|
|
|
|
=================================================================
|
|
|
|
|
|
working_dir: /app/zhamao-framework-starter
|
|
|
|
|
|
listen: 0.0.0.0:20001 | worker: 4 (auto)
|
|
|
|
|
|
environment: default | log_level: 2
|
|
|
|
|
|
version: 2.7.0 | master_pid: 28449
|
|
|
|
|
|
=================================================================
|
|
|
|
|
|
______
|
|
|
|
|
|
|__ / |__ __ _ _ __ ___ __ _ ___
|
|
|
|
|
|
/ /| '_ \ / _` | '_ ` _ \ / _` |/ _ \
|
|
|
|
|
|
/ /_| | | | (_| | | | | | | (_| | (_) |
|
|
|
|
|
|
/____|_| |_|\__,_|_| |_| |_|\__,_|\___/
|
|
|
|
|
|
|
|
|
|
|
|
[03-20 22:30:56] [S] [#1] Worker #1 started
|
|
|
|
|
|
[03-20 22:30:56] [S] [#2] Worker #2 started
|
|
|
|
|
|
[03-20 22:30:56] [S] [#3] Worker #3 started
|
|
|
|
|
|
[03-20 22:30:56] [S] [#0] Worker #0 started
|
2020-11-22 19:21:29 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
单纯运行 炸毛框架 后,如果不部署或安装启动任何机器人客户端的话,仅仅相当于启动了一个 监听 20001 端口的WebSoket + HTTP 服务器。你可以通过浏览器访问:http://127.0.0.1:20001 ,或者你部署到了服务器后需要输入服务器地址。
|
|
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
## 命令总结
|
2020-12-21 16:56:36 +08:00
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
|
1. 对于框架的启动,必须 cd 到项目的跟目录,比如 `cd zhamao-app/` 进入到项目根目录。
|
|
|
|
|
|
2. 无论何种方式启动,启动框架的命令格式都为这个格式:`{php二进制路径} vendor/bin/start server {--如果需要参数的话这样跟}`
|
|
|
|
|
|
3. 第二条的 `php 二进制路径` 指的是,比如使用第一种静态 PHP 环境,这里写 `runtime/php` 就好了,如果是安装到系统的 PHP 的话,这里为空,如果是 Docker 部署的环境,则这里填 `docker run -it --rm -v $(pwd):/app/ -p 20001:20001 zmbot/swoole`
|
2020-12-21 16:56:36 +08:00
|
|
|
|
|
2020-11-22 19:21:29 +08:00
|
|
|
|
## 使用 IDE 等工具开发代码
|
|
|
|
|
|
|
2020-12-21 16:56:36 +08:00
|
|
|
|
我们使用文本编辑器进行炸毛框架开发,在使用集成开发环境 **IDEA** 或 **PhpStorm** 时,推荐通过插件市场搜索并安装 **PHP Annotations** 插件以提供注解命名空间自动补全、注解属性代码提醒、注解类跳转等,非常有助于提升开发效率的功能。
|
|
|
|
|
|
|
|
|
|
|
|
## 进阶环境部署和开发
|
2022-03-22 00:51:03 +08:00
|
|
|
|
炸毛框架还支持更多种启动方式,如源码模式、守护进程模式,具体后续有关环境和部署的进阶教程,请查看 [进阶开发](/advanced/) 部分!
|
2022-05-04 17:42:07 +08:00
|
|
|
|
|
|
|
|
|
|
## Windows 注意事项
|
|
|
|
|
|
|
|
|
|
|
|
由于 Swoole 扩展目前无法原生支持 Windows 环境的 PHP,所以以上方式都是默认在 Linux、macOS 系统下的命令。
|
|
|
|
|
|
|
|
|
|
|
|
如果需要在 Windows 上开发和运行,可以使用 WSL(1 和 2 均可)、Linux 虚拟机、Docker 或 cygwin。
|
|
|
|
|
|
|
|
|
|
|
|
如果使用 WSL、虚拟机或 Docker,方式可以直接参考上方相关命令。如果使用 cygwin,可先从 [Swoole 官方仓库](https://github.com/swoole/swoole-src) 下载 swoole 的 cygwin 构建版本,然后下载 Composer 后安装依赖,直接运行框架即可。
|
|
|
|
|
|
|
|
|
|
|
|
## macOS 注意事项
|
|
|
|
|
|
|
|
|
|
|
|
macOS 理论上运行环境和 Linux 无异,但 macOS 由于不能静态编译,所以不能使用静态编译的 PHP 直接运行,需自行从 `Homebrew` 下载最新版 PHP(命令 `brew install php`),然后使用命令 `pecl install swoole` 来安装 Swoole 后运行框架。
|