TCExam 部署教程从零搭建在线考试系统的完整思路【免费下载链接】tcexamTCExam is a CBA (Computer-Based Assessment) system (e-exam, CBT - Computer Based Testing) for universities, schools and companies, that enables educators and trainers to author, schedule, deliver, and report on surveys, quizzes, tests and exams.项目地址: https://gitcode.com/gh_mirrors/tc/tcexamTCExam 是一款采用 PHP 编写的开源在线考试系统计算机化考试 CBA 平台面向学校、培训机构和企业支持在浏览器中完成题库管理、考试编排、在线作答、自动评分和成绩导出。如果你需要为课程测验、认证考试或问卷调研搭建一套可自托管的考试平台本文带你走完从环境检查到上线加固的完整部署流程。先判断 TCExam 是否适合你TCExam 的典型适用场景机构内部或班级规模几十到几百人的在线考试与测验需要题库积累、多次复用题目并自动批改客观题需要向考生推送成绩或导出 TSV、XML、PDF 格式的报表希望数据完全留在自己的服务器上而不是使用第三方 SaaS需要注意的边界纯浏览器 Web 端方案考生设备只需浏览器不提供移动端 App没有内置的摄像头监考、屏幕防切换等反作弊能力题库随机组卷可缓解抄袭但非监控手段需要服务器具备 PHP 运行环境完全零运维的团队可优先走 Docker 路线一句话结论如果你需要自托管 题库管理 自动评分TCExam 是合适选择如果需求集中在移动端监考建议先调研其他方案。TCExam 部署要求清单手动部署前逐项核对下表。多数安装失败都能归因到这一环节。组件要求说明PHP8.2 及以上官方在 8.2 / 8.3 / 8.4 上测试PHP 扩展mysqli 或 pgsql、gd、intl、bcmath、mbstring、zip、curl、xml、openssl、posixOracle 另需 oci8Composer需要用于安装 PDF 引擎、邮件、SSO 等依赖数据库MySQL/MariaDB、PostgreSQL 或 Oracle 三选一结构脚本在 install/ 下Web 服务器推荐 Apache mod_php项目自带 .htaccess 访问控制规则可选LaTeX ImageMagick公式渲染见 doc/LATEX.md可选zbarimg纸质答题卡 OMR 识别注意旧版文档中PHP 5.5 即可的说法已过时请以仓库内 install/README.md 的当前要求为准。TCExam 最小部署流程方案一Docker 快速体验推荐先走这条路适合评估功能和验证流程省去手工配置git clone https://gitcode.com/gh_mirrors/tc/tcexam cd tcexam make up容器启动后会自动执行命令行安装器无需再进浏览器安装。访问 http://localhost:8080/ 即可使用数据保留在命名卷中docker compose down后重启不丢数据。方案二手动安装到自有服务器获取源码并放入文档目录例如 /var/www/tcexam执行composer install该步骤同时生成 PDF 默认字体可选执行make lang预编译翻译缓存让 Web 用户可写以下位置cache/、admin/backup/以及三处config/目录浏览器访问http://你的域名/install/install.php填写数据库连接、站点域名、安装路径等信息后提交安装成功后删除整个 install/ 目录排障和加固章节会再强调一次安装向导会生成每个实例独立的随机密钥K_RANDOM_SECURITY重装同一数据库前请先备份向导可能覆盖旧数据。TCExam 目录结构与两端入口项目按职责拆成三个部分理解它能帮你快速定位问题目录作用常用入口admin/管理员后台题库、考试、用户、备份模块均在 admin/code/public/考生端登录、参加考试、查询成绩shared/共享代码与主配置数据库、路径、邮件等配置在 shared/config/管理员端admin/code/题目编辑、批量导入导出TSV/XML、考试调度与组卷、用户分组、在线考生查看、PDF 报表与备份恢复。 考生端public/注册或登录、按调度开始考试、限时作答、即时查看成绩。日常使用路径大致是在后台建用户分组 → 录入或导入题库 → 创建考试并绑定题目与时长 → 把考试链接发给考生 → 结束后在报表模块查看或导出成绩。关键配置入口说明核心配置都在shared/config/下按功能分文件改之前建议保留备份tce_db_config.php数据库类型、主机、端口、库名、账号、表前缀默认tce_tce_paths.php站点域名、相对路径、服务器绝对路径文件访问白名单也在此控制tce_general_constants.php包含安全密钥K_RANDOM_SECURITY迁移旧配置时必须换成全新随机值tce_email_config.phpSMTP 发信参数$emailcfg[Host]、[Port]、[SMTPAuth]、[Username]、[Password]等字段tce_latex.phpLaTeX 公式渲染路径tce_cas.php / tce_ldap.php / tce_radius.php单点登录与外部认证后端admin/config/tce_auth.php 与 public/config/tce_auth.php分别控制两个区域的访问级别邮件若走 SMTP注意端口465 配 ssl、587 配 tls与认证开关要匹配你的邮件服务商要求改完用后台的邮件测试功能验证一次再启用成绩推送。排障清单TCExam 常见问题按出现频率排序的排查顺序安装时数据库连接失败确认服务已启动、端口与类型匹配MySQL 3306 / PostgreSQL 5432、账号密码非空且用户有建库或建表权限站点报致命错误或空白页先用php -m对照要求清单检查扩展确认composer install已执行缺少 vendor/ 目录无法运行公式显示为乱码或原样文本确认 LaTeX 与 ImageMagick 已安装且 shared/config/tce_latex.php 中的路径可被 PHP 执行上传或 PDF 导出无响应检查cache/目录写权限Docker 环境首次启动需等 PDF 字体在后台生成完毕登录跳转循环或会话丢失核对站点域名、端口、HTTPS 设置与 tce_paths.php 中配置一致仍无法定位时查看 Web 服务器错误日志与 PHP error log多数问题在那里有明确报错。考试数据备份思路成绩数据是考试系统的命脉建议固定三件事数据库定期mysqldump或pg_dump全量导出考试日当天加做一次备份文件管理员后台的备份功能输出存放在admin/backup/该目录应仅限管理员访问也可以整体移出文档根目录再更新路径配置配置与上传内容三个config/目录连同用户上传的题目图片、媒体文件一并纳入备份恢复演练至少每半年做一次一次只备份不演练等于没有备份。上线前安全检查项以下事项完成后再对外开放逐项勾选删除整个install/目录确保安装脚本不可被访问删除默认admin/1234账号或立即改密创建自己的 10 级管理员全站启用 HTTPS凭据与会话不经过明文传输收紧文件权限代码文件 544/644、目录 755仅cache/等运行时目录可写非 Apache 环境需手工落实 .htaccess 等效的目录禁止访问重点是*/config/、cache/、admin/backup/定期执行composer update与composer audit生产环境以 composer.lock 锁定版本确认K_RANDOM_SECURITY为实例独有的随机值部署完成后把数据库备份脚本 上线检查清单 升级流程文档仓库 doc/UPGRADE.md归档到运维手册中后续每次大考前走一遍备份与检查即可。【免费下载链接】tcexamTCExam is a CBA (Computer-Based Assessment) system (e-exam, CBT - Computer Based Testing) for universities, schools and companies, that enables educators and trainers to author, schedule, deliver, and report on surveys, quizzes, tests and exams.项目地址: https://gitcode.com/gh_mirrors/tc/tcexam创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考