通达OA配置文件详解

一、引言

通达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请求。

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

参数说明

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

优化建议

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

3.2 OfficeWeb配置

OfficeWeb服务负责管理Nginx进程。

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

参数说明

参数 默认值 说明
Listen 2367 OfficeWeb服务监听端口
MemoryWarning 100 Nginx内存超过此值时触发警告
MemoryMax 200 Nginx内存超过此值时自动重启

服务架构关系

3.3 MySQL配置

复制代码
[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的即时通讯服务。

复制代码
[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认证密码
MemoryWarning 100 Redis内存超过此值时触发警告
MemoryMax 200 Redis内存超过此值时自动清理

四、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_time 1800 复杂报表可适当增加
memory_limit 1024M 根据服务器内存调整
post_max_size 2000M 需大于upload_max_filesize
upload_max_filesize 2000M 根据业务需求调整

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_timeout 30 非交互式连接超时时间
interactive_timeout 30 交互式连接超时时间
skip-name-resolve on 禁用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_size 256M-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.ini Office_Web、MySQL5_OA、Office_Redis等
php.ini Office_Web
my.ini MySQL5_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)
  • 验证用户名和密码
  • 检查防火墙设置
相关推荐
Java小白笔记1 小时前
MySQL中存储过程大表分批删除历史数据
android·mysql·adb
aidou13142 小时前
Kotlin中沉浸式状态栏显示布局
android·kotlin·windowmanager·沉浸式状态栏·insetslistener·insetscompat·systembars
阿pin3 小时前
Android随笔-pipe是什么?
android·linux·pipe
帅次3 小时前
Android 高级工程师面试:Flow 与状态流 近1年高频追问 22 题
android·面试·职场和发展
雨季余静3 小时前
RustDesk Android APK 从零编译全步骤
android
辰合软件3 小时前
通达OA目录结构与核心文件解析
android·数据库·oracle
通玄3 小时前
Jetpack Compose 入门系列(八):Compose 中的副作用处理
android
流氓也是种气质 _Cookie4 小时前
如何创建MCP
android·adb
Kapaseker4 小时前
扶我起来,Compose Styles API 进阶
android·kotlin