Ai_GirlFriend/启动前检查清单.md
2026-02-28 09:40:18 +08:00

7.1 KiB
Raw Blame History

🚦 启动前检查清单

在运行项目之前,请按照此清单逐项检查,确保所有环境和配置都已就绪。


环境检查

1. PHP 环境

php -v
  • PHP 版本 >= 8.0
  • 显示版本信息PHP 8.0.0

2. Python 环境

python --version
pip --version
  • Python 版本 >= 3.8
  • pip 已安装

3. MySQL 数据库

mysql --version
  • MySQL 已安装
  • MySQL 服务正在运行
  • 可以连接到数据库

4. ComposerPHP 包管理器)

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 依赖

cd xunifriend_RaeeC
composer install
  • 依赖安装成功
  • vendor/ 目录已生成
  • 无错误信息

2. Python 依赖

pip install -r lover/requirements.txt
  • 所有包安装成功
  • 无错误信息

验证关键包:

pip show fastapi uvicorn sqlalchemy pymysql
  • fastapi 已安装
  • uvicorn 已安装
  • sqlalchemy 已安装
  • pymysql 已安装

数据库配置检查

1. 数据库连接测试

mysql -u fastadmin -p

输入密码后:

SHOW DATABASES;
USE fastadmin;
SHOW TABLES;
  • 可以成功连接
  • fastadmin 数据库存在
  • 数据表已导入(应该有 30+ 张表)

2. 关键数据表检查

SHOW TABLES LIKE 'nf_%';

必需的表:

  • nf_user (用户表)
  • nf_lovers (恋人表)
  • nf_chat_message (消息表)
  • nf_chat_session (会话表)
  • nf_generation_tasks (任务表)

环境变量配置检查

1. 根目录 .env

打开 .env 文件,检查以下配置:

# 数据库配置(必需)
DATABASE_URL=mysql+pymysql://用户名:密码@主机:端口/数据库名?charset=utf8mb4
  • 数据库地址正确
  • 用户名密码正确
  • 数据库名称正确
# PHP 后台地址(必需)
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
  • 地址配置正确(本地开发使用 127.0.0.1:30100
# 阿里云 DashScope API必需
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
  • 已填写有效的 API Key
  • API Key 有余额(可在阿里云控制台查看)
# 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

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

[database]
hostname = localhost
database = fastadmin
username = fastadmin
password = your_password
  • 数据库配置正确
  • 与 Python 配置一致

PHP 扩展检查

运行以下命令查看已启用的扩展:

php -m

必需的扩展:

  • curl
  • fileinfo
  • gd
  • json
  • mbstring
  • mysqli
  • openssl
  • pdo_mysql
  • zip

如果缺少扩展,编辑 php.ini 文件,取消注释相应的 extension=xxx 行。


端口占用检查

1. 检查端口 30100PHP

netstat -ano | findstr :30100
  • 端口未被占用(无输出)
  • 或已知占用进程可以终止

2. 检查端口 30101Python

netstat -ano | findstr :30101
  • 端口未被占用(无输出)
  • 或已知占用进程可以终止

如果端口被占用,终止进程:

taskkill /F /PID 进程号

文件权限检查

确保以下目录可写Windows 通常自动具有权限):

  • xunifriend_RaeeC/runtime/
  • xunifriend_RaeeC/public/uploads/
  • public/tts/

如果目录不存在,手动创建:

mkdir xunifriend_RaeeC\runtime
mkdir xunifriend_RaeeC\public\uploads
mkdir public\tts

启动脚本配置检查

打开 启动项目.bat,检查配置:

set PHP_PATH=D:\2_part\php-8.0.0-Win32-vs16-x64\php.exe
  • PHP_PATH 指向正确的 php.exe 路径
  • 文件路径存在
set PHP_PORT=30100
set PYTHON_PORT=30101
  • 端口配置正确
  • 端口未被占用

网络连接检查

1. 本地回环测试

ping 127.0.0.1
  • 可以 ping 通

2. 外部 API 连接测试(如果使用远程数据库)

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 服务

cd xunifriend_RaeeC\public
php -S 127.0.0.1:30100 router.php

打开浏览器访问:http://127.0.0.1:30100

  • 页面可以访问
  • 无错误信息

Ctrl+C 停止服务

2. 测试 Python 服务

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"}}

🎉 准备就绪!

如果以上所有项目都已勾选 ,恭喜你!现在可以正式启动项目了:

启动方式

方式一:使用启动脚本(推荐)

启动项目.bat

方式二:手动启动

终端 1 - PHP 服务:

cd xunifriend_RaeeC\public
php -S 0.0.0.0:30100 router.php

终端 2 - Python 服务:

python -m uvicorn lover.main:app --host 0.0.0.0 --port 30101 --reload

🆘 如果遇到问题

  1. 重新检查清单:确保每一项都已完成
  2. 查看日志:检查控制台输出的错误信息
  3. 参考文档:查看 运行指南.md 中的常见问题部分
  4. 逐步排查:从环境、配置、依赖、数据库依次检查

检查完成时间: ___________

检查人: ___________

备注: ___________