Admidio 5.0.17 配置参数详解

Admidio 5.0.17 配置参数详解:基于 Ubuntu 22.04.5 LTS 实测,逐项解析 adm_my_files/config.php 字段、adm_my_files 目录结构、202 项组织偏好(邮件/登录/主题等)、PHP 与 Nginx 配合调优与常见配置故障。

admidioAdmidioPHPUbuntu 22.04MariaDB2026/10/28

Admidio 5.0.17 配置参数详解

本文是 admidio 专栏的配置篇。文中字段、取值与回显均于 2026-10-28 在 Ubuntu 22.04.5 LTS + Admidio 5.0.17(Nginx 1.18.0 + PHP 8.2.35 + MariaDB 10.6.23)环境实测取得;安装过程见《Admidio 5.0.17 LEMP 安装部署指南》。

一、配置体系总览

1.1 三层配置结构

Admidio 5.0.17 的配置分布在三层,理解分层是改配置不踩坑的前提:

层载体生效方式典型内容
站点引导层adm_my_files/config.php每次 PHP 请求读取数据库连接、站点地址、时区、表前缀
组织偏好层数据库表 adm_preferences后台修改即时生效(存库)202 项业务参数(实测计数)
运行平台层php.ini / Nginx改后 reload上传上限、时区、进程数、超时

1.2 adm_my_files 目录结构

adm_my_files 是唯一的运行时可写目录(实测目录清单):

adm_my_files/
├── config.php          # 安装向导生成的站点配置(实测 1158 字节)
├── config_example.php  # 示例模板,仅供对照
├── .htaccess           # Apache 环境下的访问保护
├── index.html          # 空页防目录列举
├── logs/               # 运行日志(admidio-YYYY-MM-DD.log)
├── temp/               # 上传与处理临时文件
├── mail_templates/     # 系统邮件 HTML 模板
├── ecard_templates/    # 电子贺卡模板
└── templates/          # 页面局部模板

运维上需要重点保护该目录:属主必须为 Web 运行用户(实测 www-data),且整目录纳入备份(见《Admidio 5.0.17 常用运维命令详解》)。

二、config.php 字段逐项解析

2.1 实测完整文件内容

安装向导生成的 config.php 实测原文(密码为本系列演示环境约定值):

<?php
// Select your database system for example 'mysql' or 'pgsql'
$gDbType = 'mysql';

// Access to the database of the SQL-Server
$g_adm_srv  = 'localhost';     // Host
$g_adm_port = 3306;     // Port
$g_adm_db   = 'admidio';     // Database-Name
$g_adm_usr  = 'admidio'; // Username
$g_adm_pw   = 'Admidio#2026'; // Password

// Table prefix for Admidio-Tables in database
$g_tbl_praefix = 'adm';

// URL to this Admidio installation
$g_root_path = 'http://localhost';

// The name of the timezone in which your organization is located.
$gTimezone = 'Asia/Shanghai';

2.2 字段含义与修改要点

字段含义修改要点
$gDbType数据库引擎类型可选 mysql 或 pgsql;改引擎需连带改连接五件套
$g_adm_srv数据库主机远程库填主机名或 IP,建议改用内网地址
$g_adm_port数据库端口MariaDB/MySQL 默认 3306,PostgreSQL 默认 5432
$g_adm_db / $g_adm_usr / $g_adm_pw库名/账号/密码改密码时须与数据库侧同步,否则全站 500
$g_tbl_praefix表前缀默认 adm;安装后不可改,否则系统找不到表
$g_root_path站点对外地址换域名/上 HTTPS 时必须改,错误值会导致跳转与静态资源 404
$gTimezone组织时区PHP 时区字符串;影响界面时间展示,与 php.ini 的 date.timezone 相互独立

实测修改 $g_root_path 后立即生效,无需重启服务——该文件由每次请求引导加载。

2.3 修改口令后的联动检查清单

  1. 数据库侧执行 ALTER USER 'admidio'@'localhost' IDENTIFIED BY '<新密码>';
  2. 编辑 config.php 的 $g_adm_pw;
  3. 刷新首页验证:命令 curl -s -o /dev/null -w '%{http_code}\n' http://localhost/,预期输出 303(未登录跳转 overview 属正常,出现 500 即密码不同步)。

三、组织偏好(adm_preferences)详解

3.1 存储机制与修改入口

组织偏好共 202 项(实测 SELECT COUNT(*) FROM adm_preferences;),以 prf_name/prf_value 键值对存储,全部通过后台"系统 → 偏好设置"界面修改后写库,不落 config.php。直接改库虽可行(UPDATE adm_preferences SET prf_value=... WHERE prf_name=...;),但会绕过参数校验,仅建议在界面无法触达时使用。

3.2 关键偏好项实测值

安装向导默认生成的部分核心偏好(实测查询结果):

prf_name默认值含义与调整建议
themesimple主题名,对应 themes/simple 目录;当前源码包仅内置该主题
logout_minutes20会话空闲登出分钟数,安全要求高可调小
enable_auto_login1自动登录开关;公共终端建议改 0
enable_rss1RSS 输出开关
mail_send_methodphpmail发信方式;生产建议改 SMTP
mail_smtp_host(空)SMTP 主机,配合 mail_send_method=SMTP 使用
mail_smtp_port587SMTP 端口,STARTTLS 常用
mail_smtp_auth1SMTP 认证开关
max_email_attachment_size1群发邮件附件上限(MB),受 PHP 上传限制约束
registration_mode—注册模式,控制新成员自助注册与审核策略

3.3 邮件发信配置建议

默认 mail_send_method=phpmail 依赖本机 sendmail,生产环境几乎不可用。切换 SMTP 的路径:后台偏好设置中把发信方式改为 SMTP,填入 mail_smtp_host、端口(默认已 587)、账号密码。改完用"消息"模块给单个管理员发一封测试邮件验证。注意附件上限还要过 PHP 层(见 4.1 节),两层取小值。

四、PHP 与 Nginx 配合调优

4.1 php.ini 必调项

实测 Ubuntu 22.04 的 PHP 8.2 默认值(php8.2 -i 查询):

参数默认值建议值影响
upload_max_filesize2M20M相册/文档上传单文件上限
post_max_size8M24M必须大于 upload_max_filesize
memory_limit128M(FPM)256MExcel/PDF 导出大名单时吃内存
date.timezoneUTCAsia/Shanghai日志时间戳与邮件排队使用运行时时区

实测踩坑记录:未设 date.timezone 时,日志文件 admidio-2026-10-28.log 内时间戳为 UTC(04:03:42 对应北京时间 12:03),排障时容易误判事件顺序。修改 /etc/php/8.2/fpm/php.ini 后需 sudo systemctl reload php8.2-fpm 生效。

4.2 Nginx 关键指令

实测站点配置(见 B1 篇 4.1 节)中与配置直接相关的三项:

  1. client_max_body_size 20m;——Nginx 侧请求体上限,必须与 PHP 上传限制同步放大,否则大文件上传报 413;
  2. fastcgi_pass unix:/run/php/php8.2-fpm.sock;——套接字版本必须与实际 FPM 版本一致,多版本 PHP 并存时最易错接;
  3. try_files $uri $uri/ /index.php?$query_string;——保证 Admidio 模块路由正常,缺失会导致除首页外全部 404。

4.3 PHP-FPM 进程调优

实测默认进程模型为 3 个工作进程(pgrep -c php-fpm8.2),小规模协会(数百成员)足够;成员过千或并发上传场景建议在 /etc/php/8.2/fpm/pool.d/www.conf 调整 pm.max_children,改后 sudo systemctl reload php8.2-fpm 生效。

五、主题与界面配置

5.1 主题目录与切换

实测源码包仅内置 themes/simple 一个主题,偏好项 theme=simple 与之一一对应。自定义主题的做法:复制 themes/simple 为 themes/<新名>,改模板与样式后将偏好 theme 切换为新目录名,刷新页面生效。

5.2 首页与导航

登录后访问"系统 → 偏好设置"可调整首页展示模块与菜单项;模块清单(公告、活动、相册、文档文件、消息、房间、物品借用等)由数据库 adm_components 驱动,实测其中每项对应 modules/ 目录下同名模块文件,无需手工改文件即可启停。

六、常见配置故障排查

故障一:改了 config.php 后全站 500。 排查:90% 是数据库五件套与实际库不匹配。核对 $g_adm_pw 与数据库账号密码、$g_adm_srv 可达性;实测日志 adm_my_files/logs/admidio-*.log 会同步记录 PDO 连接异常。

故障二:换域名后页面跳回旧地址或静态资源 404。 原因:$g_root_path 未随域名更新。实测该值直接拼在所有资源与跳转 URL 前,改为新地址后立即恢复。

故障三:上传附件报错或 413。 原因链:Nginx client_max_body_size < PHP post_max_size < 业务需求,三者需同步放大并 reload 两层服务。

故障四:日志时间与本地时间差 8 小时。 原因:php.ini date.timezone 默认 UTC。设为 Asia/Shanghai 并 reload php8.2-fpm,此后新日志即本地时间。


配置层理顺之后,系统的日常备份、版本升级与故障处置进入运维节奏,详见《Admidio 5.0.17 常用运维命令详解》;如需回顾部署过程,见《Admidio 5.0.17 LEMP 安装部署指南》。