Files
geneagro_cms/doc/Infrastructure.md

48 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

# GeneAgro CMS 基础设施使用说明(数据库/缓存/日志/上传)
数据库
- 配置文件config/database.php。
- 主要参数type=\"mysqli\"host、user、passwd、port、dbname、prefix默认 ay_、charsetutf8
- 事务:可在 core/convention.php 中配置 database.transaction。
- 使用建议:
- 为 ay_syslog系统日志表创建必要索引如 time、level
- 生产环境开启最小化权限账号(仅当前库权限)。
缓存与会话
- 会话存储:默认文件。
- 切换为 Memcache在 core/convention.php 设置 session.handler=\"memcache\",并配置 session.path 与 cache.serverhost:port
- 注意事项:
- 需要安装 PHP memcache 扩展;确保 Memcache 服务可用。
- Basic::setSessionHandler 中会话路径键名为 \"seesion.path\"(存在拼写问题)。若启用 Memcache 会话,请在 config/config.php 中使用 \"seesion.path\" 键进行覆盖,或修复 Basic.php 将其改为 \"session.path\"。
- 缓存core/cache/*。
- Memcache 驱动:通过 cache.handler=\"memcache\" 启用。
- 适用场景:热点数据、配置缓存、列表页缓存等。
日志
- 配置core/convention.php 中 log_record_type\"db\" 或 \"text\")。
- 文本日志:
- 位置log/ 目录按日期分文件YYYYMMDD.log
- 字段level、content、ip、os、bs、user、time。
- 数据库日志:
-ay_syslog通过 core/log/LogDb.php 写入)。
- 字段level、event、ip、os、bs、user、time。
- 写入方式:控制器中使用 $this->log($level, $content) 或 Controller::log(...)。
上传与水印
- 入口函数core/function/file.php::upload。
- 配置项:
- upload.format允许上传的扩展名列表如 jpg|png|gif|bmp|jpeg
- upload.max_width / upload.max_height最大尺寸限制。
- ico.max_width / ico.max_height缩略图尺寸限制。
- 水印:在后台系统配置开启后,上传函数执行水印处理(需 GD 扩展)。
- 存储路径:默认 static/upload/image/ 下(可按业务自定义与扩展)。
安全与合规
- 访问控制core/convention.php 的 access_rule.* 可限制特定浏览器或操作系统访问。
- 会话安全建议开启仅站点路径会话session_in_sitepath=true并启用 HttpOnly 与 Secure按站点 HTTPS 情况设置)。
- 文件权限:确保 runtime、log、static/upload、data 等目录具备写入权限;生产环境最小化权限策略。
运维建议
- 定期归档日志:按日/周归档 text 日志或对 ay_syslog 做清理策略。
- 数据库备份static/backup/sql 可存放备份脚本,建议配合定时任务与远程备份。
- 性能优化:合理使用 Memcache长列表页可结合分页与缓存降低数据库压力。