进阶 docs.flarum.org 2026-10-15 14:50:53 · 22 阅读

第22章 Flarum 配置文件详解与部署实践

版本:2.x 配置文件 除了数据库之外,Flarum 配置管理中仅有一处无法通过 Flarum 管理面板进行修改,即位于 Flarum 安装根目录的 `config.php` 文件。 尽管该文件体量很小,但它包含的内容对 Flarum 实例的正常运行至关重要。 如果该文件存在,即表示 Flarum 已完成安装。 它还向 Flarum 提供数据库信息及其他必要配置。 以下是一个示例文件,简要说明了各项配置的含义: 'debug' => false, // 启用或禁用调试模式,用于排查问题
'offline' => false, // 取值可为 none、high、low 或 safe。
'database' =>
array (
'driver' => 'mysql', // 数据库驱动,如 MySQL、MariaDB、PostgreSQL、SQLite
'host' => 'localhost', // 连接主机,多数情况下为 localhost,除非使用外部服务
'database' => 'flarum', // 实例中的数据库名称
'username' => 'root', // 数据库用户名
'password' => '', // 数据库密码
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '', // 表前缀,当与其他服务共享同一数据库时很有用
'port' => '3306', // 连接端口,MySQL 默认为 3306
'strict' => false,
),
'url' => 'https://flarum.localhost', // 安装网址,更换域名时需修改此项
'paths' =>
array (
'api' => 'api', // /api 路由指向 API
'admin' => 'admin', // /admin 路由指向管理后台
),
'queue' =>
array (
'driver' => 'sync', // 使用标准同步队列。省略此项效果相同
),
'fontawesome' =>
array (
'source' => 'local', // 使用内置的 FontAwesome Free v7 图标。其他配置选项见下文
)
);
通过环境变量进行配置 虽然上述基于文件的方法适用于大多数 Flarum 安装,但对于规模较大的实例或通过 CI/CD 部署的环境,使用环境变量进行配置可能更为合适。示例如下: 'debug' => env('DEBUG')
...
);
这会向 Flarum 提供其预期的静态配置文件,但在运行时从环境中读取变量。 队列 Flarum 内置支持两种队列驱动:sync 和 database。许多任务(或称“作业”)可以卸载到独立进程中执行,以缩短响应时间并提升用户体验。 从 config.php 读取的唯一配置键是 driver。完全省略队列配置块等同于将 driver 设置为 sync。 * sync:默认行为;作业在请求过程中立即内联执行 * database:将作业存储在专用的 queue_jobs 数据表中,随后由调度器在独立进程中处理。强烈建议将调度器配置为每分钟运行一次 当启用 database 驱动时,管理面板的“高级”页面将提供额外的调优选项(重试次数、内存限制、超时等)。 其他队列驱动 FoF Redis 等扩展提供了额外的队列驱动。这些驱动无需在 config.php 中配置队列项——它们通过各自的扩展设置进行配置。 公告组件 Flarum 在管理仪表板上显示一个公告组件,用于展示官方 Flarum 社区的最新动态。该组件默认启用,并在后台每周刷新。 若要禁用它,请在 config.php 中添加以下代码: 'flarum_announcements.disabled' => true, 禁用后,该组件将从仪表板隐藏,系统不会向 discuss.flarum.org 发起出站请求,也不会注册定时刷新任务。 维护模式 Flarum 具有维护模式,通过将 config.php 文件中的 offline 键设置为以下值之一即可启用: * none:不启用维护模式。 * high:任何人(包括管理员)都无法访问论坛。 * low:仅管理员可访问论坛。 * safe:仅管理员可访问论坛,且不加载任何扩展。 “高级”页面同样可以设置低级别维护模式和 safe 模式。若 config.php 中已设置模式,将优先于页面所选模式。 FontAwesome 默认情况下,Flarum 使用捆绑的 FontAwesome Free v7 图标。可以将其替换为通过 CDN 托管的图标包或自定义 Kit。有关各来源的详细信息,请参阅 FontAwesome 页面。 'https://example.com', // ... 其他配置 // FontAwesome Kit(Pro 功能 + 自定义图标) 'fontawesome' => [ 'source' => 'kit', 'kit_url' => 'https://kit.fontawesome.com/YOUR_KIT_CODE.js',
],

// 或者使用 CDN
// 'fontawesome' => [
// 'source' => 'cdn',
// 'cdn_url' => 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css',
// ],

// 或者保留本地文件(默认,无需配置)
// 'fontawesome' => [
// 'source' => 'local',
// ],
];

评论 (0)