Ai_GirlFriend/启动前检查清单.md

365 lines
7.1 KiB
Markdown
Raw Permalink Normal View History

2026-02-28 09:40:18 +08:00
# 🚦 启动前检查清单
在运行项目之前,请按照此清单逐项检查,确保所有环境和配置都已就绪。
---
## ✅ 环境检查
### 1. PHP 环境
```cmd
php -v
```
- [ ] PHP 版本 >= 8.0
- [ ] 显示版本信息PHP 8.0.0
### 2. Python 环境
```cmd
python --version
pip --version
```
- [ ] Python 版本 >= 3.8
- [ ] pip 已安装
### 3. MySQL 数据库
```cmd
mysql --version
```
- [ ] MySQL 已安装
- [ ] MySQL 服务正在运行
- [ ] 可以连接到数据库
### 4. ComposerPHP 包管理器)
```cmd
composer --version
```
- [ ] Composer 已安装
---
## ✅ 项目文件检查
### 1. 目录结构
- [ ] `lover/` 目录存在
- [ ] `xunifriend_RaeeC/` 目录存在
- [ ] `public/` 目录存在
- [ ] `启动项目.bat` 文件存在
### 2. 配置文件
- [ ] `.env` 文件存在(根目录)
- [ ] `lover/.env` 文件存在
- [ ] `xunifriend_RaeeC/.env` 文件存在
### 3. 依赖文件
- [ ] `lover/requirements.txt` 存在
- [ ] `xunifriend_RaeeC/composer.json` 存在
---
## ✅ 依赖安装检查
### 1. PHP 依赖
```cmd
cd xunifriend_RaeeC
composer install
```
- [ ] 依赖安装成功
- [ ] `vendor/` 目录已生成
- [ ] 无错误信息
### 2. Python 依赖
```cmd
pip install -r lover/requirements.txt
```
- [ ] 所有包安装成功
- [ ] 无错误信息
验证关键包:
```cmd
pip show fastapi uvicorn sqlalchemy pymysql
```
- [ ] fastapi 已安装
- [ ] uvicorn 已安装
- [ ] sqlalchemy 已安装
- [ ] pymysql 已安装
---
## ✅ 数据库配置检查
### 1. 数据库连接测试
```cmd
mysql -u fastadmin -p
```
输入密码后:
```sql
SHOW DATABASES;
USE fastadmin;
SHOW TABLES;
```
- [ ] 可以成功连接
- [ ] `fastadmin` 数据库存在
- [ ] 数据表已导入(应该有 30+ 张表)
### 2. 关键数据表检查
```sql
SHOW TABLES LIKE 'nf_%';
```
必需的表:
- [ ] `nf_user` (用户表)
- [ ] `nf_lovers` (恋人表)
- [ ] `nf_chat_message` (消息表)
- [ ] `nf_chat_session` (会话表)
- [ ] `nf_generation_tasks` (任务表)
---
## ✅ 环境变量配置检查
### 1. 根目录 .env
打开 `.env` 文件,检查以下配置:
```env
# 数据库配置(必需)
DATABASE_URL=mysql+pymysql://用户名:密码@主机:端口/数据库名?charset=utf8mb4
```
- [ ] 数据库地址正确
- [ ] 用户名密码正确
- [ ] 数据库名称正确
```env
# PHP 后台地址(必需)
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
```
- [ ] 地址配置正确(本地开发使用 127.0.0.1:30100
```env
# 阿里云 DashScope API必需
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
```
- [ ] 已填写有效的 API Key
- [ ] API Key 有余额(可在阿里云控制台查看)
```env
# OSS 配置(必需)
ALIYUN_OSS_ACCESS_KEY_ID=your_access_key_id
ALIYUN_OSS_ACCESS_KEY_SECRET=your_access_key_secret
ALIYUN_OSS_BUCKET_NAME=your_bucket_name
ALIYUN_OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
```
- [ ] 已填写 OSS 配置
- [ ] Bucket 已创建
- [ ] 权限配置正确(读写权限)
### 2. lover/.env
```env
DATABASE_URL=mysql+pymysql://用户名:密码@主机:端口/数据库名?charset=utf8mb4
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
```
- [ ] 与根目录 .env 保持一致
### 3. xunifriend_RaeeC/.env
```env
[database]
hostname = localhost
database = fastadmin
username = fastadmin
password = your_password
```
- [ ] 数据库配置正确
- [ ] 与 Python 配置一致
---
## ✅ PHP 扩展检查
运行以下命令查看已启用的扩展:
```cmd
php -m
```
必需的扩展:
- [ ] curl
- [ ] fileinfo
- [ ] gd
- [ ] json
- [ ] mbstring
- [ ] mysqli
- [ ] openssl
- [ ] pdo_mysql
- [ ] zip
如果缺少扩展,编辑 `php.ini` 文件,取消注释相应的 `extension=xxx` 行。
---
## ✅ 端口占用检查
### 1. 检查端口 30100PHP
```cmd
netstat -ano | findstr :30100
```
- [ ] 端口未被占用(无输出)
- [ ] 或已知占用进程可以终止
### 2. 检查端口 30101Python
```cmd
netstat -ano | findstr :30101
```
- [ ] 端口未被占用(无输出)
- [ ] 或已知占用进程可以终止
如果端口被占用,终止进程:
```cmd
taskkill /F /PID 进程号
```
---
## ✅ 文件权限检查
确保以下目录可写Windows 通常自动具有权限):
- [ ] `xunifriend_RaeeC/runtime/`
- [ ] `xunifriend_RaeeC/public/uploads/`
- [ ] `public/tts/`
如果目录不存在,手动创建:
```cmd
mkdir xunifriend_RaeeC\runtime
mkdir xunifriend_RaeeC\public\uploads
mkdir public\tts
```
---
## ✅ 启动脚本配置检查
打开 `启动项目.bat`,检查配置:
```batch
set PHP_PATH=D:\2_part\php-8.0.0-Win32-vs16-x64\php.exe
```
- [ ] PHP_PATH 指向正确的 php.exe 路径
- [ ] 文件路径存在
```batch
set PHP_PORT=30100
set PYTHON_PORT=30101
```
- [ ] 端口配置正确
- [ ] 端口未被占用
---
## ✅ 网络连接检查
### 1. 本地回环测试
```cmd
ping 127.0.0.1
```
- [ ] 可以 ping 通
### 2. 外部 API 连接测试(如果使用远程数据库)
```cmd
ping 1.15.149.240
```
- [ ] 可以 ping 通(如果使用远程数据库)
---
## ✅ 阿里云服务检查
### 1. DashScope API
访问控制台https://dashscope.console.aliyun.com/
- [ ] 账号已注册
- [ ] API Key 已创建
- [ ] 账户有余额或在免费额度内
- [ ] 已开通所需模型:
- [ ] qwen-plus (对话)
- [ ] wan2.6-t2i (图像生成)
- [ ] wan2.6-i2v-flash (视频生成)
- [ ] cosyvoice-v2 (语音合成)
- [ ] paraformer-realtime-v2 (语音识别)
### 2. OSS 对象存储
访问控制台https://oss.console.aliyun.com/
- [ ] Bucket 已创建
- [ ] 区域正确华东1-杭州)
- [ ] 读写权限已设置(公共读或私有)
- [ ] AccessKey 已创建且有效
---
## ✅ 最终测试
### 1. 测试 PHP 服务
```cmd
cd xunifriend_RaeeC\public
php -S 127.0.0.1:30100 router.php
```
打开浏览器访问http://127.0.0.1:30100
- [ ] 页面可以访问
- [ ] 无错误信息
`Ctrl+C` 停止服务
### 2. 测试 Python 服务
```cmd
python -m uvicorn lover.main:app --host 127.0.0.1 --port 30101
```
打开浏览器访问http://127.0.0.1:30101/docs
- [ ] API 文档页面可以访问
- [ ] 显示所有 API 接口
`Ctrl+C` 停止服务
### 3. 测试健康检查接口
访问http://127.0.0.1:30101/health
- [ ] 返回 `{"code":1,"msg":"ok","data":{"status":"ok"}}`
---
## 🎉 准备就绪!
如果以上所有项目都已勾选 ✅,恭喜你!现在可以正式启动项目了:
### 启动方式
**方式一:使用启动脚本(推荐)**
```cmd
启动项目.bat
```
**方式二:手动启动**
终端 1 - PHP 服务:
```cmd
cd xunifriend_RaeeC\public
php -S 0.0.0.0:30100 router.php
```
终端 2 - Python 服务:
```cmd
python -m uvicorn lover.main:app --host 0.0.0.0 --port 30101 --reload
```
---
## 🆘 如果遇到问题
1. **重新检查清单**:确保每一项都已完成
2. **查看日志**:检查控制台输出的错误信息
3. **参考文档**:查看 `运行指南.md` 中的常见问题部分
4. **逐步排查**:从环境、配置、依赖、数据库依次检查
---
**检查完成时间**: ___________
**检查人**: ___________
**备注**: ___________