# 丽晶ERP企业微信数据分析系统 - 安装说明
## 环境要求
- **Web服务器**:Apache 2.4+ 或 Nginx 1.10+
- **PHP版本**:**必须使用PHP 5.6**(注意:不能使用更高版本,系统已针对PHP 5.6进行了特别优化)
- **MySQL版本**:5.5+ 或 MariaDB 10.0+
- **SQL Server版本**:2008 R2 或更高版本
- **PHP扩展**:
- MySQL相关:mysqli
- SQL Server相关:mssql_* 扩展 或 pdo_dblib
- 通用扩展:curl、json、session、gd
- **服务器配置**:建议至少2GB RAM,双核CPU,确保系统运行流畅
## 安装步骤
### 1. 准备工作
1. 确保服务器环境满足上述要求,**特别注意PHP必须使用5.6版本**
2. 下载系统代码包并解压到Web服务器根目录
3. 设置文件权限:
- Windows服务器:确保IIS用户有读写权限
- Linux服务器:执行 `chmod -R 755 /path/to/system`
- 确保`install/`、`template/cache/`目录有写入权限
### 2. MySQL数据库配置(config目录配置)
1. **数据库准备**:
- 创建MySQL数据库,建议命名为lj_erp
- 设置数据库编码为UTF-8
- 为数据库创建专用用户并分配适当权限(SELECT, INSERT, UPDATE, DELETE)
2. **数据导入**:
- 导入`install/install.sql`文件到数据库中
- 执行导入命令:`mysql -u 用户名 -p 数据库名 < install/install.sql`
- 确认导入成功,检查表结构是否完整
3. **配置数据库连接**:
- 重要:系统将从`config/`目录读取数据库配置
- 编辑`config/MySQL_config.php`文件
- 修改以下参数为实际环境的值:
```php
return array(
'dbhost' => 'localhost', // 数据库主机
'dbuser' => 'root', // 数据库用户名
'dbpwd' => 'password', // 数据库密码
'dbname' => 'lj_erp', // 数据库名称
'dbport' => '3306', // 数据库端口
'charset' => 'utf8' // 数据库编码
);
```
4. **常见MySQL连接问题排查**:
- 错误:Access denied for user - 检查用户名和密码是否正确
- 错误:Unknown database - 确保数据库名称正确且已创建
- 错误:Can't connect to MySQL server - 检查MySQL服务是否启动
- PHP扩展问题:确保PHP已启用mysqli扩展
### 3. SQL Server数据库配置(双数据库模式 - config目录配置)
1. **扩展准备**:
- 确保PHP已安装SQL Server相关扩展(mssql_* 或 pdo_dblib)
- 验证扩展是否正确加载:执行phpinfo()检查扩展状态
2. **配置数据库连接**:
- 重要:系统将从`config/`目录读取SQL Server配置
- 编辑`config/SQLserver_config.php`文件
- 修改以下参数为实际环境的值:
```php
return array(
'dbhost' => '192.168.1.100', // SQL Server服务器地址
'dbuser' => 'sa', // SQL Server用户名
'dbpwd' => 'password', // SQL Server密码
'dbname' => 'ERP_Database', // 丽晶ERP数据库名称
'dbport' => '1433', // SQL Server端口
'charset' => 'utf8' // 编码设置
);
```
3. **配置文件位置注意事项**:
- 如果配置文件不存在,请确认是否在正确目录:`config/`
- 某些版本可能使用`config/config-sql.php`或`config/common.php`作为配置文件
4. **连接测试**:
- 安装完成后,系统会自动测试SQL Server连接状态
- 如需手动测试,可使用系统管理页面的连接测试功能
5. **常见SQL Server连接问题排查**:
- 扩展错误:确保PHP正确安装了SQL Server扩展
- 连接超时:检查网络连接和防火墙设置
- 认证失败:验证SQL Server用户名和密码是否正确
- 数据库不存在:确认ERP数据库名称和实例名是否正确
- 配置文件错误:确认配置文件路径和文件名是否正确
### 4. 企业微信配置
1. 在企业微信管理后台创建应用
2. 获取企业ID(corpid)、应用ID(agentid)、应用密钥(corpsecret)
3. 在系统数据库中,找到`system_configuration`表
4. 插入或更新企业微信配置,确保uid为`qywx`
5. 配置企业微信授权回调域名
### 5. 完成安装
1. 访问系统根目录,系统会自动检测是否已安装
2. 首次访问会自动生成`config/install.lock`文件,标志安装完成
3. 首次登录使用默认管理员账号(请在登录后立即修改密码)
## 双数据库模式配置说明
系统采用MySQL和SQL Server双数据库模式,实现数据的安全高效管理。需要分别配置:
1. **MySQL配置文件**:`config/MySQL_config.php`
- 用于存储系统配置、用户信息、权限设置和临时缓存数据
- 包含应用程序的核心配置数据
- **主表保护机制**:MySQL主表只能进行查询操作,所有增删改操作必须通过临时表进行
2. **SQL Server配置文件**:`config/SQLserver_config.php`
- 用于连接丽晶ERP系统数据库
- 直接读取原始业务数据进行分析处理
- 作为数据来源,为系统提供ERP业务数据
3. **双数据库协作模式配置**:
- **临时表机制**:所有数据修改操作必须通过临时表进行
- **操作流程**:创建临时表 → 写入数据 → 关联更新主表 → 清理临时表
- **权限设置**:确保MySQL用户具有CREATE TEMPORARY TABLES权限
- **性能优化**:建议为临时表操作优化MySQL配置参数
4. **连接测试**:
- 安装完成后,系统会自动测试两个数据库的连接状态
- 在系统管理页面可以查看数据库连接状态和临时表操作日志
## 常见问题
### PHP版本问题
- **错误**:页面显示空白或出现PHP语法错误
- **解决**:确保服务器上安装的是PHP 5.6版本,**不要使用更高版本**
- **注意**:系统已针对PHP 5.6进行了特别优化,使用其他版本可能导致功能异常或安全问题
### 双数据库协作模式问题
- **错误**:临时表创建失败
- **解决**:检查MySQL用户是否有CREATE TEMPORARY TABLES权限
- **错误**:临时表操作超时
- **解决**:优化MySQL配置参数,增加临时表操作超时时间
- **错误**:数据更新不一致
- **解决**:检查事务配置,确保临时表到主表的数据传输过程完整
### 数据库连接失败
#### MySQL连接失败
- 检查MySQL服务是否正常运行
- 确认数据库用户名和密码是否正确
- 检查数据库用户是否有相应的权限
#### SQL Server连接失败
- 确认PHP已安装正确的SQL Server扩展(mssql或pdo_dblib)
- 检查SQL Server服务是否可访问,包括防火墙设置
- 验证SQL Server用户名、密码和数据库名称是否正确
### 企业微信登录失败
- 确认企业微信配置信息是否正确
- 检查应用的可信域名配置
- 确保服务器可以正常访问企业微信API
### 页面显示乱码
- 检查PHP文件编码是否为UTF-8
- 确保数据库编码为UTF-8
- 检查Web服务器的默认字符集设置
## 安全建议
1. 定期更新系统代码和安全补丁
2. 修改默认的数据库用户名和密码,使用强密码
3. 配置适当的文件权限,避免敏感文件被外部访问
4. 建议在生产环境中使用HTTPS协议
5. 限制数据库用户权限,遵循最小权限原则
6. 定期备份数据库,确保数据安全
7. 配置服务器防火墙,只开放必要的端口