一、引言
通达OA的配置文件是系统运行的核心,掌握配置文件的结构和参数设置对于二次开发和系统维护至关重要。本文将详细介绍OA的主要配置文件,包括服务配置、PHP配置、MySQL配置等,并提供实用的配置优化建议。
二、配置文件总览
通达OA的配置文件分布在多个目录中,主要包括:

| 配置文件 | 路径 | 作用 |
|---|---|---|
| service.ini | MYOA\bin | 服务配置(OfficeFPM、OfficeWeb、MySQL、Redis等) |
| php.ini | MYOA\bin | PHP运行时配置 |
| my.ini | MYOA\mysql5 | MySQL数据库配置 |
| db_config.php | MYOA\webroot\inc | 数据库连接配置 |
三、service.ini配置详解
service.ini 是通达OA最重要的配置文件之一,包含了多个服务的配置参数。
3.1 OfficeFPM配置
OfficeFPM是PHP-FPM的封装,负责处理PHP请求。
ini
[OfficeFPM]
Listen = 8266 ; 监听端口
ProcessNumber = 10 ; FastCGI进程数
参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
| Listen | 8266 | FPM监听端口,与Nginx配置对应 |
| ProcessNumber | 10 | FPM进程数量,根据服务器配置调整 |
优化建议:
- 服务器内存充足时可适当增加进程数
- 进程数过多会导致内存占用过高
- 建议设置为 CPU核心数 × 2 + 1
3.2 OfficeWeb配置
OfficeWeb服务负责管理Nginx进程。
ini
[OfficeWeb]
Listen = 2367 ; 监听端口
MemoryWarning = 100 ; 内存警告阈值(MB)
MemoryMax = 200 ; 内存上限(MB)
参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
| Listen | 2367 | OfficeWeb服务监听端口 |
| MemoryWarning | 100 | Nginx内存超过此值时触发警告 |
| MemoryMax | 200 | Nginx内存超过此值时自动重启 |
服务架构关系:

3.3 MySQL配置
ini
[MySQL]
HOST = localhost ; 服务器地址
PORT = 3336 ; 监听端口
USER = root ; 用户名
PASSWORD = xxxxxx ; 密码(优先级低于db_config.php)
参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
| HOST | localhost | MySQL服务器地址 |
| PORT | 3336 | MySQL监听端口,非标准端口增强安全性 |
| USER | root | 数据库用户名 |
| PASSWORD | - | 数据库密码 |
安全提示:
- MySQL默认仅允许本地访问
- 建议使用强密码
- 密码优先级:
db_config.php>service.ini
3.4 OfficeIm配置
OfficeIm是OA的即时通讯服务。
ini
[OfficeIm]
SERVERIP = 0.0.0.0 ; 服务IP
SERVERPORT = 1188 ; IM服务端口
HTTPLISTENIP = 0.0.0.0 ; HTTP监听IP
HTTPPORT = 1189 ; HTTP服务端口
CENTERMODE = 0 ; 中心模式(0=独立,1=中心)
3.5 Redis配置
ini
[Redis]
AUTH = xxxxxx ; Redis密码
MemoryWarning = 100 ; 内存警告阈值(MB)
MemoryMax = 200 ; 内存上限(MB)
参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
| AUTH | - | Redis认证密码 |
| MemoryWarning | 100 | Redis内存超过此值时触发警告 |
| MemoryMax | 200 | Redis内存超过此值时自动清理 |
四、php.ini配置详解
PHP配置文件位于 MYOA\bin\php.ini,以下是关键参数:
4.1 性能相关配置
ini
max_execution_time = 1800 ; 最大执行时间(秒)
memory_limit = 1024M ; 内存上限
post_max_size = 2000M ; POST最大数据量
upload_max_filesize = 2000M ; 上传文件最大大小
参数说明与优化建议:
| 参数 | 默认值 | 优化建议 |
|---|---|---|
| max_execution_time | 1800 | 复杂报表可适当增加 |
| memory_limit | 1024M | 根据服务器内存调整 |
| post_max_size | 2000M | 需大于upload_max_filesize |
| upload_max_filesize | 2000M | 根据业务需求调整 |
4.2 错误处理配置
ini
display_errors = Off ; 是否显示错误
log_errors = On ; 是否记录错误日志
error_log = D:\MYOA\logs\php_errors.log ; 错误日志路径
开发环境建议:
display_errors = On:方便调试log_errors = On:记录错误日志
生产环境建议:
display_errors = Off:避免泄露敏感信息log_errors = On:便于问题排查
4.3 其他重要配置
ini
date.timezone = Asia/Shanghai ; 时区设置
default_charset = utf-8 ; 默认字符集
session.save_handler = files ; Session存储方式
session.save_path = D:\MYOA\tmp ; Session存储路径
五、my.ini配置详解
MySQL配置文件位于 MYOA\mysql5\my.ini。
5.1 基础配置
ini
basedir = D:/MYOA/mysql5/ ; MySQL主程序路径
datadir = D:/MYOA/data5/ ; 数据库文件路径
tmpdir = D:/MYOA/tmp/ ; 临时文件路径
character-set-server = utf8 ; 默认字符集
port = 3336 ; 监听端口
5.2 连接配置
ini
wait_timeout = 30 ; SQL执行后自动断开时间(秒)
interactive_timeout = 30 ; 交互连接超时时间(秒)
skip-name-resolve = on ; 禁用域名解析
参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
| wait_timeout | 30 | 非交互式连接超时时间 |
| interactive_timeout | 30 | 交互式连接超时时间 |
| skip-name-resolve | on | 禁用DNS解析,提高连接速度 |
5.3 InnoDB配置
ini
innodb_file_per_table = 1 ; 独立表空间模式
优化建议:
- 开启独立表空间便于单表备份和恢复
- 提高InnoDB性能
5.4 MySQL配置优化建议

| 优化方向 | 配置参数 | 建议值 |
|---|---|---|
| 连接数 | max_connections | 根据并发量调整 |
| 查询缓存 | query_cache_size | 适当开启 |
| InnoDB缓冲 | innodb_buffer_pool_size | 内存的50%-70% |
| 日志文件 | innodb_log_file_size | 256M-1G |
六、db_config.php配置详解
db_config.php 是PHP代码中直接引用的数据库配置文件,优先级高于 service.ini 中的MySQL配置。
php
<?php
$DBHOST = "localhost"; // 数据库地址
$DBPORT = "3336"; // 端口
$DBNAME = "TD_OA"; // 数据库名
$DBUSER = "root"; // 用户名
$DBPASS = "xxxxxxxx"; // 密码
$DBTYPE = "mysql"; // 数据库类型
$DBCONNECT = "pconn"; // 连接方式(pconn=持久连接)
?>
连接方式说明:
| 方式 | 说明 | 适用场景 |
|---|---|---|
| pconn | 持久连接 | 高并发场景 |
| conn | 非持久连接 | 低并发场景 |
七、配置文件加载顺序

加载优先级:
db_config.php(最高优先级)service.iniphp.inimy.ini
八、配置修改注意事项
8.1 修改后需重启服务
| 配置文件 | 需重启的服务 |
|---|---|
| service.ini | Office_Web、MySQL5_OA、Office_Redis等 |
| php.ini | Office_Web |
| my.ini | MySQL5_OA |
| db_config.php | 无需重启,立即生效 |
8.2 备份配置文件
修改配置前建议备份原始文件:
bash
# 备份service.ini
Copy-Item "MYOA\bin\service.ini" "MYOA\bin\service.ini.bak"
# 备份php.ini
Copy-Item "MYOA\bin\php.ini" "MYOA\bin\php.ini.bak"
# 备份my.ini
Copy-Item "MYOA\mysql5\my.ini" "MYOA\mysql5\my.ini.bak"
8.3 配置验证
修改配置后应验证是否生效:
bash
# 检查PHP配置
php -i | Select-String "memory_limit"
# 检查MySQL配置
mysql -u root -p -e "SHOW VARIABLES LIKE 'wait_timeout'"
九、常见配置问题排查
9.1 内存不足问题
现象:系统运行缓慢,频繁出现502错误
排查步骤:

解决方案:
- 减少PHP-FPM进程数
- 增加MemoryMax阈值
- 检查是否有内存泄漏的代码
9.2 数据库连接失败
现象:无法连接数据库,页面报错
排查步骤:

解决方案:
- 确认MySQL服务已启动
- 检查端口是否正确(默认3336)
- 验证用户名和密码
- 检查防火墙设置