PICFLOW 部署指南
PICFLOW 部署指南
环境要求
| 依赖 | 版本要求 |
|---|---|
| PHP | 8.0 或更高(推荐 8.1+) |
| MySQL | 5.7 或更高(推荐 8.0) |
| Web Server | Nginx / Apache |
| PHP 扩展 | PDO, pdo_mysql, gd, fileinfo, openssl, mbstring, curl |
Composer 依赖
通过 Composer 安装 PHPMailer:
cd /path/to/project
composer install
安装步骤
1. 创建数据库
mysql -u root -p < sql/schema.sql
这将创建 img 数据库和所有 13 张表。
2. 配置数据库连接
编辑 config.php:
$config = [
'db' => [
'host' => '127.0.0.1',
'port' => 3306,
'name' => 'img',
'user' => 'root',
'pass' => 'your_password',
],
'smtp' => [
'host' => 'smtp.qq.com',
'port' => 465,
'user' => 'your@email.com',
'pass' => 'your_smtp_password',
],
];
3. 配置 Web 服务器
Nginx 示例
server {
listen 80;
server_name your-domain.com;
root /path/to/project;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /uploads/ {
# 禁止执行 PHP
location ~* \.php$ { deny all; }
}
}
Apache 示例
确保启用了 mod_rewrite。项目根目录已有 .htaccess 文件。
4. 设置目录权限
chmod -R 755 /path/to/project
chmod -R 777 /path/to/project/uploads
chmod -R 777 /path/to/project/logs
5. PHP 配置
项目已有 .user.ini 用于宝塔面板:
open_basedir=/www/wwwroot/project_path/:/tmp/
6. 注册管理员账号
首个注册用户将自动获得管理员权限。
访问 /register.php 完成注册。
7. 配置定时任务
# 每小时 AI 内容审核
0 * * * * php /path/to/project/bot/moderate_and_ban.php
# 每日自动上传
0 2 * * * php /path/to/project/bot/auto_upload.php
# 每周自动标签
0 3 * * 0 php /path/to/project/bot/auto_tag_all.php
# 每日清理过期验证码和回收站
0 4 * * * php /path/to/project/cron.php
项目结构
项目根目录/
├── index.php # 首页(瀑布流)
├── view.php # 图片详情
├── upload.php # 图片上传
├── recommended.php # 智能推荐
├── login.php # 登录
├── register.php # 注册(带验证码)
├── forgot_password.php # 密码重置
├── profile.php # 个人设置
├── user_dashboard.php # 用户面板
├── history.php # 浏览历史
├── likes.php # 收藏列表
├── config.php # 数据库 + SMTP 配置
├── db.php # PDO 单例连接
├── auth.php # 认证系统
├── functions.php # 核心函数库
├── storage.php # 存储抽象层
├── mail.php # 邮件系统
├── captcha.php # SVG 验证码
├── cron.php # 定时清理
│
├── api/ # RESTful API (18 端点)
├── admin/ # 管理后台 (25 页面)
├── bot/ # CLI 自动化脚本
├── services/ # 推荐引擎 (5 类)
├── sql/ # 数据库 schema
├── uni-app/ # 移动端源码
├── uploads/ # 本地文件存储
├── logs/ # 日志
├── vendor/ # Composer 包
└── assets/ # 静态资源
快速验证
部署完成后,访问以下地址验证:
| 地址 | 说明 |
|---|---|
/ |
首页瀑布流 |
/register.php |
注册页面 |
/login.php |
登录页面 |
/admin/ |
管理后台 |
/api/images.php |
API 测试 |
📝 本文由AI生成