Skip to content

环境要求

在安装 MineShop 之前,请确保您的服务器满足以下环境要求。

🖥️ 服务器要求

硬件配置

环境CPU内存硬盘
开发环境2核4GB50GB
测试环境4核8GB100GB
生产环境8核+16GB+200GB+ SSD

操作系统

  • 推荐: Linux (Ubuntu 20.04+, CentOS 7+)
  • 支持: macOS (开发环境)
  • 不推荐: Windows (可使用 WSL2 或 Docker)

📦 软件依赖

PHP 环境

bash
# PHP 版本要求
PHP >= 8.1 (推荐 8.2+)

# 必需扩展
- swoole >= 5.0 (关闭 Short Name)
- mbstring
- json
- pdo
- pdo_mysql
- openssl
- redis
- pcntl
- bcmath
- fileinfo

# 可选扩展
- xlswriter (Excel 高性能导出)

检查 PHP 环境

bash
# 查看 PHP 版本
php -v

# 查看已安装扩展
php -m

# 查看 Swoole 信息
php --ri swoole

安装 Swoole

bash
# 使用 pecl 安装
pecl install swoole

# 或编译安装
git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure --enable-openssl --enable-http2
make && make install

注意

Swoole 必须关闭 Short Name,在 php.ini 中添加:

ini
swoole.use_shortname = Off

MySQL 数据库

bash
# 版本要求
MySQL >= 5.7 (推荐 8.0+)

# 或 PostgreSQL >= 10

MySQL 配置建议

ini
# my.cnf
[mysqld]
# 字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# InnoDB 配置
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2

# 连接数
max_connections = 500

Redis 缓存

bash
# 版本要求
Redis >= 4.0 (推荐 6.0+)

Redis 配置建议

conf
# redis.conf
maxmemory 1gb
maxmemory-policy allkeys-lru
appendonly yes

Node.js (前端)

bash
# 版本要求
Node.js >= 16 (推荐 18+)
npm >= 8 yarn >= 1.22

🐳 Docker 环境

如果使用 Docker,可以跳过上述环境配置,直接使用我们提供的镜像:

yaml
# docker-compose.yml
services:
  hyperf:
    image: hyperf/hyperf:8.3-alpine-vedge-swoole-v6.1
    
  mysql:
    image: mysql:8.0
    
  redis:
    image: redis:7.2-alpine

✅ 环境检查脚本

创建 check-env.php 文件检查环境:

php
<?php
echo "=== MineShop 环境检查 ===\n\n";

// PHP 版本
$phpVersion = PHP_VERSION;
$phpOk = version_compare($phpVersion, '8.1.0', '>=');
echo "PHP 版本: {$phpVersion} " . ($phpOk ? '✓' : '✗ 需要 >= 8.1') . "\n";

// Swoole 扩展
$swooleLoaded = extension_loaded('swoole');
echo "Swoole 扩展: " . ($swooleLoaded ? '✓ 已安装' : '✗ 未安装') . "\n";

if ($swooleLoaded) {
    $swooleVersion = swoole_version();
    $swooleOk = version_compare($swooleVersion, '5.0.0', '>=');
    echo "Swoole 版本: {$swooleVersion} " . ($swooleOk ? '✓' : '✗ 需要 >= 5.0') . "\n";
}

// 必需扩展
$requiredExtensions = ['mbstring', 'json', 'pdo', 'pdo_mysql', 'openssl', 'redis', 'pcntl', 'bcmath'];
foreach ($requiredExtensions as $ext) {
    $loaded = extension_loaded($ext);
    echo "{$ext} 扩展: " . ($loaded ? '✓' : '✗') . "\n";
}

echo "\n=== 检查完成 ===\n";

运行检查:

bash
php check-env.php

🔗 下一步

环境准备就绪后,请继续:

基于 Apache-2.0 许可发布 | 感谢 MineAdmin 提供的优秀基础框架