# GeneAgro CMS 使用说明(基于 PbootCMS 3.2.5) 项目简介 - 本项目为 GeneAgro CMS,基于 PbootCMS(核心版本 3.2.5,release 20230421,revise 4)。 - 适用于企业官网、资讯展示与接口输出,包含前台、后台与 API 三部分。 技术栈与主要组件 - 后端:PHP 7.x(建议 7.1–7.4),MySQL(mysqli 驱动)。 - 前端:Bootstrap、jQuery(见 template/default 目录)。 - 其它:可选 Memcache(缓存与会话),日志支持数据库与文本两种。 环境要求与依赖 - PHP 版本:代码中强制校验 7.0+(Check::checkPHP)。不建议在 PHP 8.0 上运行。 - 必需扩展:gd、mbstring、curl;数据库驱动:mysqli;可选扩展:memcache(用于缓存/会话)。 - Web 服务器:需开启伪静态/URL 重写(rewrite 目录提供 Nginx/Apache/IIS 参考)。 - 时区与编码:默认设置为 Asia/Shanghai,输出 UTF-8。 - Composer:仓库已包含 vendor。若 vendor 缺失,可执行 composer install 以补齐依赖。 入口与模块职责 - 前台入口:index.php(网站首页与内容展示)。 - 后台入口:iotadmin.php(系统管理后台)。 - API 入口:api.php(接口输出,含认证校验)。 - 路由配置: - apps/common/route.php:定义系统内置的路由分发(admin 系统/内容/会员,前台 sitemap,API list/content/about/search 等)。 - config/route.php:可进行项目级路由扩展或覆盖。 快速开始 1) 部署代码到 Web 根目录(确保 PHP 与扩展满足要求)。 2) 配置数据库连接:编辑 config/database.php(type=\"mysqli\",host/user/passwd/port/dbname)。 3) 配置站点与系统参数:编辑 config/config.php(或通过后台配置页)。 4) 配置伪静态/重写:参考 rewrite/.htaccess、nginx.txt、web.config。 5) 访问后台:浏览器打开 http(s)://<域名或IP>/iotadmin.php,首次登录后完善站点信息。 6) 前台访问:浏览器打开 http(s)://<域名或IP>/。 7) API 配置与使用:在后台“系统配置”页开启 WebAPI 并设置认证参数(详见下文“API 认证与示例”)。 常用配置说明(核心项) - WebAPI(后台系统配置页) - api_open:开启/关闭接口能力。 - api_auth:开启/关闭接口签名认证(建议开启)。 - api_appid:接口用户名(调用方标识)。 - api_secret:接口密钥(调用方密钥)。 - 日志 - 记录方式:core/convention.php 中 log_record_type,可配置为 \"db\" 或 \"text\"。 - 数据库日志:写入 ay_syslog 表(字段含 level、event、ip、os、bs、user、time)。 - 文本日志:写至 log/ 目录按日归档(YYYYMMDD.log)。 - 会话与缓存 - 会话存储:默认文件;如需 Memcache,请在 core/convention.php 配置 session.handler=\"memcache\" 并正确设置地址。 - 缓存:cache.handler 可选 \"memcache\",需安装 PHP memcache 扩展。 - 上传与水印 - 上传格式与尺寸:在 core/convention.php 中 upload.* 与 ico.* 配置。 - 水印:可在后台配置中开启/设置水印参数。 - 模板与主题 - 模板目录:template/default;可通过 setTheme/assign 方法进行变量注入与主题切换。 API 认证与示例 - 开启 api_open 后,若 api_auth=1,则每次请求必须带上时间戳与签名。 - 签名生成:sign = md5( md5( api_appid + api_secret + timestamp ) )。 - 时间戳有效期:15 秒内有效,过期拒绝。 - 示例(GET):/api/list?appid=YOUR_APPID×tamp=UNIX_TS&sign=YOUR_SIGN - 主要接口(apps/common/route.php):list、content、about、search 等。 目录结构速览 - apps/admin:后台控制器、模型与视图。 - apps/home:前台控制器与模型。 - apps/api:接口层(可扩展)。 - apps/common:公共控制器与路由、版本信息。 - core/basic:核心基础类(Controller/Model/Db/Cache/Log 等)。 - core/function:常用函数库(helper/handle/file)。 - core/log:日志实现(数据库与文本)。 - config:项目配置(config.php、database.php、route.php)。 - rewrite:不同服务器的伪静态规则示例。 - template/default:前端模板与静态资源。 部署与运维建议 - 开启伪静态:根据服务器类型使用 rewrite 目录对应示例。 - 生产模式关闭调试:在 core/convention.php 中设置 debug=false。 - 数据库备份:static/backup/sql 目录可用于备份脚本/数据。 - 日志与监控:建议使用数据库日志并对 ay_syslog 做索引与归档。 常见问题 - 访问出现 404:检查伪静态是否生效,确认入口文件路径正确。 - API 调用失败(签名错误或超时):核对 appid/secret 与签名算法,确保服务器与调用方时间同步。 - 图片上传失败:检查 upload.format 与尺寸限制,确认 GD 扩展已启用。 - 登录或会话异常:若使用 Memcache,确认扩展与地址配置正确;否则使用默认文件存储。 许可协议 - 本项目采用 Apache License 2.0。详见仓库 LICENSE 文件。 版本信息 - Core/App 版本:apps/common/version.php 中 app_version=3.2.5,release_time=20230421,revise_version=4。 致谢 - 基于 PbootCMS 的二次开发与定制改造,感谢原项目与社区贡献。