# Exam **Repository Path**: btchc/Exam ## Basic Information - **Project Name**: Exam - **Description**: PHP 考试测试系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2019-08-13 - **Last Updated**: 2023-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Exam > [Seeker](https://gitee.com/btchc) > 2019-08-13 开源免费的PHP无纸化模拟考试系统,基于 [PHPEMS(www.phpems.net)](http://www.phpems.net) 修改。 本版本重点修复BUG(包括所有非 E_NOTICE 级别错误提示),并根据个人需要优化新增一些功能,用于培训测试使用。 因使用部分第三方扩展包,系统要求`php>=7.0`,具体集成扩展包如下: | 扩展包 | 说明 | | --- | --- | | [illuminate/database](https://packagist.org/packages/illuminate/database) | Eloquent ORM,以[Model](https://laravel-china.org/docs/laravel/5.6/eloquent/1403)的方式操作数据库 | | [overtrue/easy-sms](https://packagist.org/packages/overtrue/easy-sms) | 一款满足你的多种发送需求的短信发送组件 | | [overtrue/wechat](https://packagist.org/packages/overtrue/wechat) | 开源的微信非官方 SDK,方便在考试系统开发微信服务号相关功能 | | [predis/predis](https://packagist.org/packages/predis/predis) | 缓存驱动 Redis 基础扩展包,使系统支持Redis缓存 | ## 优化&新增功能 - 新增使用composer,可直接安装第三方扩展包 - 为所有数据表定义 [Model](https://laravel-china.org/docs/laravel/5.6/eloquent/1403) ,数据库操作更灵活方便 - 可在线[数据库迁移](https://laravel-china.org/docs/laravel/5.6/migrations/1400),请参考 `examples` 目录下 `Database.php` - 新增部分字符串和数组[辅助函数](https://laravel-china.org/docs/laravel/5.6/helpers/1391),如:dd() - 新增 Redis 缓存支持,请参考 `examples` 目录中的 `Cache.php` ## 安装 - clone 仓库 - 安装 composer 依赖包, - 修改 lib 目录下 `config.inc.php` 文件配置, - 导入 `exapmples` 目录下的数据库文件 `phpems.sql` 即可。 > 源码默认开启错误提示,生产环境请修改 `config.inc.php` 文件关闭 `DEBUG` 提示,并务必删除 `examples` 目录 默认管理员账号:`peadmin` | 密码: `peadmin` ### 考试设置 1. 考试模块:考试设计—>科目管理(ID影响教师阅卷)—>章节—>知识点(ID影响试卷生成) 2. 考试模块:试题管理—>普通试题管理—>添加试题—>CSV导入(对应知识点ID) 3. 考试模块:试卷管理—>随机组卷—>试卷管理—>随机组卷 4. 考试模块:考试设计—>考场列表—>添加考场(至此步骤考试设置完毕) 5. 教师管理: 1. 教师管理—>用户模块—>模型管理—>教师模型(字段管理)—>Teacher_subjects(修改字段)—>可选值列表(科目名称=ID)—>提交; 2. 用户管理—>用户名—>修改(可管理科目打钩); 3. 登录—>成绩管理 ### 开启微信自动登录 `config.inc.php`中 `USEWX` 值改为 `true`,并配置好**微信服务号**的 appid 和 appsecret 即可。 > 第一次从服务号或小程序登录系统会自动绑定微信和考试账号,以后从服务号或小程序进入直接自动登录。 ## 关于系统的二次开发说明: ### PHPEMS 路由说明 index.php?user-phone-login-index > 访问 `app` 目录下 user/controller/login.phone.php 文件的index方法 ### 数据表说明 | 数据表 | 说明 | | --- | --- | | basic | 考场表 | | examhistory | 考试记录表 | | exams | 试卷表 | | examsession | 会话表 | | favor | 收藏表 | | knows | 知识点表 | | sections | 章节表 | | subject | 科目表 | | openbasics | 开通的考场记录表 | | quest2knows | 知识点与试题关系表 | | questionrows | 题冒题表 | | questions | 试题表 | | questype | 题型表 | | session | 用户会话表 | | user | 用户表 | | user_group | 用户组表 | | module | 模型表 | | module_fields | 模型字段表 | | attach | 附件表(图片音视频) | | notice | 更新公告表 | ## 版权说明 PHPEMS属于开源免费程序,开发者为火眼,您可以自由修改其中属于PHPEMS原创部分的代码,原则上您只要不通过出售PHPEMS相关源代码盈利,即可免费使用本软件。