config.php 1.89 KB
<?php
/**
 * 配置文件
 * 优先级: 环境变量 > 配置文件默认值
 */

return [
    // Redis 配置
    'redis' => [
        'host' => getenv('REDIS_HOST') ?: '127.0.0.1',
        'port' => (int) (getenv('REDIS_PORT') ?: 6379),
        'password' => getenv('REDIS_PASSWORD') ?: null,
        'prefix' => getenv('REDIS_PREFIX') ?: 'ai_',
    ],

    // 数据库配置
    'database' => [
        'host' => getenv('DB_HOST') ?: '127.0.0.1',
        'port' => (int) (getenv('DB_PORT') ?: 3306),
        'username' => getenv('DB_USER') ?: 'root',
        'password' => getenv('DB_PASSWORD') ?: '',
        'database' => getenv('DB_NAME') ?: 'ai',
    ],

    // TOS (火山引擎对象存储) 配置
    'tos' => [
        'ak' => getenv('TOS_AK') ?: 'AKLTZjkyMzliYjQ5N2IyNDFjNDliMTBiY2E2ZmU5ODhjNTM',
        'sk' => getenv('TOS_SK') ?: 'WldKbE5XUmpPRGxqWmpZM05EUTBObUpqTTJSa01qVTNNMkprWmpsbU9Uaw==',
        'endpoint' => getenv('TOS_ENDPOINT') ?: 'tos-cn-shanghai.volces.com',
        'region' => getenv('TOS_REGION') ?: 'cn-shanghai',
        'bucket' => getenv('TOS_BUCKET') ?: 'ocxun',
    ],

    // 服务器配置
    'server' => [
        'websocket_host' => getenv('WS_HOST') ?: '0.0.0.0',
        'websocket_port' => (int) (getenv('WS_PORT') ?: 8888),
        'http_host' => getenv('HTTP_HOST') ?: '0.0.0.0',
        'http_port' => (int) (getenv('HTTP_PORT') ?: 8887),
        'worker_count' => (int) (getenv('WORKER_COUNT') ?: 1),
    ],

    // 文件上传配置
    'upload' => [
        'max_size' => 50 * 1024 * 1024, // 50MB
        'allowed_extensions' => ['jpg', 'jpeg', 'png', 'gif', 'webp', 'mp4', 'pdf', 'xls', 'xlsx'],
        'default_user' => 'guest', // TODO: 等待后续对接用户手机号功能
    ],

    // 心跳配置
    'heartbeat' => [
        'interval' => (int) (getenv('HEARTBEAT_INTERVAL') ?: 30),
        'check_interval' => (int) (getenv('HEARTBEAT_CHECK_INTERVAL') ?: 10),
    ],
];