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生成