Skip to content

CatchShop 安装指南

本文档将指导您完成 CatchShop 商城系统的安装和配置。该系统采用 PHP 语言开发,基于 Laravel 框架构建。

环境要求

基础环境

  • PHP >= 8.2
  • Composer >= 2.0
  • MySQL >= 5.7 或 MariaDB >= 10.3
  • Redis >= 5.0
  • NginxApache

PHP 扩展

bash
# 必需扩展
php -m | grep -E "pdo|pdo_mysql|mbstring|openssl|tokenizer|xml|ctype|json|bcmath|redis"

安装步骤

1. 克隆项目

bash
# 克隆 CatchShop 商城代码库
git clone https://github.com/your-repo/catchshop.git
cd catchshop

2. 安装依赖

bash
# 安装 Composer 依赖
composer install

3. 环境配置

bash
# 复制环境配置文件
cp .env.example .env

# 生成应用密钥
php artisan key:generate

4. 数据库配置

编辑 .env 文件,配置数据库连接:

env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=catchshop
DB_USERNAME=root
DB_PASSWORD=your_password

5. Redis 配置

env
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

6. 执行迁移

bash
# 运行数据库迁移
php artisan migrate

# 填充示例数据(可选)
php artisan db:seed

7. 初始化系统

bash
# 运行 CatchShop 初始化命令
php artisan catch:install

8. 启动服务

开发环境

bash
# 使用 Laravel 内置服务器
php artisan serve

# 访问 http://localhost:8000

生产环境

配置 Nginx 或 Apache,将网站根目录指向 public 目录。

Nginx 配置示例:

nginx
server {
    listen 80;
    server_name your-domain.com;
    root /path/to/catchshop/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

JWT 配置

bash
# 生成 JWT 密钥
php artisan jwt:secret

.env 中配置 JWT 参数:

env
JWT_SECRET=your_jwt_secret
JWT_TTL=1440  # Token 有效期(分钟)

支付配置(可选)

如果需要使用支付功能,请配置支付参数:

env
# 微信支付
WECHAT_PAY_APP_ID=your_app_id
WECHAT_PAY_MCH_ID=your_mch_id
WECHAT_PAY_KEY=your_key

# 支付宝
ALIPAY_APP_ID=your_app_id
ALIPAY_PUBLIC_KEY=your_public_key
ALIPAY_PRIVATE_KEY=your_private_key

验证安装

检查 API 接口

bash
# 测试健康检查接口
curl http://localhost:8000/api/health

运行测试

bash
# 运行 CatchShop 商城测试套件
php artisan test

常见问题

数据库连接失败

检查 .env 中的数据库配置是否正确,确保 MySQL 服务已启动。

Redis 连接失败

确保 Redis 服务已启动,检查端口和密码配置。

权限问题

bash
# 设置目录权限
chmod -R 755 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache