通达OA配置文件详解

0 阅读5分钟

一、引言

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

二、配置文件总览

通达OA的配置文件分布在多个目录中,主要包括:

配置文件路径作用
service.iniMYOA\bin服务配置(OfficeFPM、OfficeWeb、MySQL、Redis等)
php.iniMYOA\binPHP运行时配置
my.iniMYOA\mysql5MySQL数据库配置
db_config.phpMYOA\webroot\inc数据库连接配置

三、service.ini配置详解

service.ini 是通达OA最重要的配置文件之一,包含了多个服务的配置参数。

3.1 OfficeFPM配置

OfficeFPM是PHP-FPM的封装,负责处理PHP请求。

[OfficeFPM]
Listen = 8266           ; 监听端口
ProcessNumber = 10      ; FastCGI进程数

参数说明

参数默认值说明
Listen8266FPM监听端口,与Nginx配置对应
ProcessNumber10FPM进程数量,根据服务器配置调整

优化建议

  • 服务器内存充足时可适当增加进程数
  • 进程数过多会导致内存占用过高
  • 建议设置为 CPU核心数 × 2 + 1

3.2 OfficeWeb配置

OfficeWeb服务负责管理Nginx进程。

[OfficeWeb]
Listen = 2367           ; 监听端口
MemoryWarning = 100     ; 内存警告阈值(MB)
MemoryMax = 200         ; 内存上限(MB)

参数说明

参数默认值说明
Listen2367OfficeWeb服务监听端口
MemoryWarning100Nginx内存超过此值时触发警告
MemoryMax200Nginx内存超过此值时自动重启

服务架构关系

3.3 MySQL配置

[MySQL]
HOST = localhost        ; 服务器地址
PORT = 3336             ; 监听端口
USER = root             ; 用户名
PASSWORD = xxxxxx       ; 密码(优先级低于db_config.php)

参数说明

参数默认值说明
HOSTlocalhostMySQL服务器地址
PORT3336MySQL监听端口,非标准端口增强安全性
USERroot数据库用户名
PASSWORD-数据库密码

安全提示

  • MySQL默认仅允许本地访问
  • 建议使用强密码
  • 密码优先级:db_config.php > service.ini

3.4 OfficeIm配置

OfficeIm是OA的即时通讯服务。

[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配置

[Redis]
AUTH = xxxxxx           ; Redis密码
MemoryWarning = 100     ; 内存警告阈值(MB)
MemoryMax = 200         ; 内存上限(MB)

参数说明

参数默认值说明
AUTH-Redis认证密码
MemoryWarning100Redis内存超过此值时触发警告
MemoryMax200Redis内存超过此值时自动清理

四、php.ini配置详解

PHP配置文件位于 MYOA\bin\php.ini,以下是关键参数:

4.1 性能相关配置

max_execution_time = 1800    ; 最大执行时间(秒)
memory_limit = 1024M         ; 内存上限
post_max_size = 2000M        ; POST最大数据量
upload_max_filesize = 2000M  ; 上传文件最大大小

参数说明与优化建议

参数默认值优化建议
max_execution_time1800复杂报表可适当增加
memory_limit1024M根据服务器内存调整
post_max_size2000M需大于upload_max_filesize
upload_max_filesize2000M根据业务需求调整

4.2 错误处理配置

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 其他重要配置

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 基础配置

basedir = D:/MYOA/mysql5/      ; MySQL主程序路径
datadir = D:/MYOA/data5/       ; 数据库文件路径
tmpdir = D:/MYOA/tmp/          ; 临时文件路径
character-set-server = utf8     ; 默认字符集
port = 3336                    ; 监听端口

5.2 连接配置

wait_timeout = 30              ; SQL执行后自动断开时间(秒)
interactive_timeout = 30       ; 交互连接超时时间(秒)
skip-name-resolve = on         ; 禁用域名解析

参数说明

参数默认值说明
wait_timeout30非交互式连接超时时间
interactive_timeout30交互式连接超时时间
skip-name-resolveon禁用DNS解析,提高连接速度

5.3 InnoDB配置

innodb_file_per_table = 1      ; 独立表空间模式

优化建议

  • 开启独立表空间便于单表备份和恢复
  • 提高InnoDB性能

5.4 MySQL配置优化建议

优化方向配置参数建议值
连接数max_connections根据并发量调整
查询缓存query_cache_size适当开启
InnoDB缓冲innodb_buffer_pool_size内存的50%-70%
日志文件innodb_log_file_size256M-1G

六、db_config.php配置详解

db_config.php 是PHP代码中直接引用的数据库配置文件,优先级高于 service.ini 中的MySQL配置。

<?php
$DBHOST = "localhost";     // 数据库地址
$DBPORT = "3336";          // 端口
$DBNAME = "TD_OA";         // 数据库名
$DBUSER = "root";          // 用户名
$DBPASS = "xxxxxxxx";      // 密码
$DBTYPE = "mysql";         // 数据库类型
$DBCONNECT = "pconn";      // 连接方式(pconn=持久连接)
?>

连接方式说明

方式说明适用场景
pconn持久连接高并发场景
conn非持久连接低并发场景

七、配置文件加载顺序

加载优先级

  1. db_config.php(最高优先级)
  2. service.ini
  3. php.ini
  4. my.ini

八、配置修改注意事项

8.1 修改后需重启服务

配置文件需重启的服务
service.iniOffice_Web、MySQL5_OA、Office_Redis等
php.iniOffice_Web
my.iniMySQL5_OA
db_config.php无需重启,立即生效

8.2 备份配置文件

修改配置前建议备份原始文件:

# 备份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 配置验证

修改配置后应验证是否生效:

# 检查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)
  • 验证用户名和密码
  • 检查防火墙设置