# 2.2 后端服务启动 :::warning 特别提醒 官方精心制作本教程,目的在于方便用户快速掌握软件产品的使用和部署。通过此教程,刚入行的开发者也可以快速掌握并投入产品研发。本地部署时务必请耐心阅读文档操作。 ::: ## 步骤一:获取源码 前往 [官方网站](https://www.rxthink.cn) 购买授权后,按以下步骤获取源码: ```text 1. 登录[官方网站](https://www.rxthink.cn),进入「个人中心」→「我的订单」页面。 2. 在订单列表中找到已购买的授权订单,点击「下载」按钮。 3. 下载的压缩包包含完整的前后端源码、数据库脚本及部署配置文件。 4. 将压缩包解压到本地开发目录(如 D:\xampp8.2\htdocs\ 或 ~/www/)。 ``` ```bash # 进入项目目录(以实际解压路径为准) cd RXThinkCMF_ThinkPhp6_NaiveVue ``` :::tip 温馨提示 1. 源码包请务必从[官方网站](https://www.rxthink.cn)订单中心下载,确保获取的是正版授权的最新版本。 2. 授权有效期内可无限次下载最新版本,版本更新后可重新下载获取最新源码。 3. 解压后请先阅读根目录下的 `README.md` 和 `CHANGELOG.md` 了解版本更新内容。 ::: ## 步骤二:安装 Composer 依赖 ```bash # ----------------------------------------------------------------------------- # 安装项目依赖(从 composer.lock 精确安装,确保版本一致) # ----------------------------------------------------------------------------- # install → 读取 composer.lock,安装锁定版本的依赖 # 安装完成后生成 vendor/ 目录,包含所有第三方库 composer install # ----------------------------------------------------------------------------- # 如果国内下载慢,先配置阿里云镜像(加速依赖下载) # ----------------------------------------------------------------------------- # config -g → 修改全局配置(所有项目生效) # repo.packagist → 设置 Packagist 仓库的镜像地址 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ composer install ``` 安装完成后,项目根目录会生成 `vendor/` 目录,包含所有第三方依赖。 ## 步骤三:配置环境文件 ```bash # 复制环境配置模板(.env.example 是模板文件,.env 是实际配置) cp .env.example .env ``` 编辑 `.env` 文件,配置数据库连接等信息: ```ini ; 开启调试模式(开发环境 true,生产环境必须 false) APP_DEBUG = true ; 数据库连接配置 [DATABASE] TYPE = mysql ; 数据库类型(mysql / pgsql / sqlsrv / oracle / sqlite) HOSTNAME = 127.0.0.1 ; 数据库服务器地址 DATABASE = rxthinkcmf.thinkphp8.naivevue ; 数据库名称 USERNAME = root ; 数据库用户名 PASSWORD = root ; 数据库密码 HOSTPORT = 3306 ; 数据库端口 PREFIX = think_ ; 表前缀 ; JWT 签名密钥(生产环境务必修改为强随机字符串) [JWT] SECRET = rxthinkcmf_jwt_secret_key_2024 ; 文件上传配置 [FILE] UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_NaiveVue\uploads ; 上传文件存储目录(绝对路径) DOMAIN_URL = http://file.thinkphp8.naivevue ; 文件访问域名 ``` :::danger 生产环境务必修改 1. `[JWT]` 下的 `SECRET` 必须修改为强随机字符串,生成方式:`php -r "echo bin2hex(random_bytes(32));"` 2. `APP_DEBUG` 生产环境必须设为 `false` 3. `[DATABASE]` 下的 `PASSWORD` 必须修改为强密码 ::: ## 步骤四:启动内置开发服务器 ThinkPHP 内置了 PHP 开发服务器,无需安装 Nginx/Apache 即可启动: ```bash # ----------------------------------------------------------------------------- # 启动开发服务器(默认监听 127.0.0.1:8000) # ----------------------------------------------------------------------------- # run → 启动 ThinkPHP 内置的 PHP 开发服务器 # 启动后浏览器访问 http://localhost:8000 即可 php think run # ----------------------------------------------------------------------------- # 指定端口(当 8000 被占用时更换端口) # ----------------------------------------------------------------------------- # --port → 指定监听端口 php think run --port 8080 # ----------------------------------------------------------------------------- # 指定主机和端口(允许局域网其他设备访问) # ----------------------------------------------------------------------------- # --host 0.0.0.0 → 监听所有网络接口(默认只监听 127.0.0.1) # 适用于手机调试、前后端分离开发等场景 php think run --host 0.0.0.0 --port 8000 ``` 启动成功后会看到: ```html ThinkPHP Development server is started You can exit with `CTRL-C` ``` ## 步骤五:验证服务 ```bash # ----------------------------------------------------------------------------- # 访问根路径,确认服务正常运行 # ----------------------------------------------------------------------------- # curl → 命令行 HTTP 客户端工具 # 正常响应:{"code":200,"msg":"RxThinkCMF API Server","data":{"version":"1.0.0"}} curl http://localhost:8000/ # ----------------------------------------------------------------------------- # 测试登录接口(POST 请求 + JSON 请求体) # ----------------------------------------------------------------------------- # -X POST → 使用 POST 方法 # -H → 设置请求头(Content-Type: application/json) # -d → 发送 JSON 格式的请求体 curl -X POST http://localhost:8000/api/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"123456"}' # 测试租户账号登录 curl -X POST http://localhost:8000/api/login \ -H "Content-Type: application/json" \ -d '{"username":"tenant001","password":"123456"}' ``` :::tip 内置演示账号 | 账号 | 密码 | 角色 | 说明 | |------|------|------|------| | admin | 123456 | 超级管理员 | 平台管理,可管理所有租户 | | tenant001 | 123456 | 租户管理员(客户租户A) | 租户视角,体验数据隔离效果 | ::: ## 常见问题 ### 1. `composer install` 报错内存不足 ```bash # -d memory_limit=-1 → 取消 PHP 内存限制(-1 表示无限制) php -d memory_limit=-1 /usr/local/bin/composer install ``` ### 2. `vendor/` 目录权限问题 ```bash # 755 → owner 可读写执行,group/others 可读可执行 chmod -R 755 vendor/ ``` ### 3. 数据库连接失败 检查 `.env` 中的数据库配置是否正确: ```bash # 1. 检查 .env 中 [DATABASE] 配置:HOSTNAME、PORT、USERNAME、PASSWORD、DATABASE 是否正确 # 2. 确认数据库服务已启动 # 3. 用原生 SQL 测试连接是否正常(以 MySQL 为例) mysql -h 127.0.0.1 -P 3306 -u root -p -e "SELECT 1;" ``` ### 4. 端口被占用 ```bash # Windows:查找占用 8000 端口的进程 # findstr → Windows 版的 grep(过滤文本) netstat -ano | findstr :8000 # macOS / Linux:查找占用 8000 端口的进程 # -i :8000 → 只显示使用 8000 端口的进程 lsof -i :8000 # 更换端口启动(避免冲突) php think run --port 8080 ```