TCExam部署教程:从零搭建免费在线考试系统

发布时间:2026/8/22 14:55:29
TCExam部署教程:从零搭建免费在线考试系统 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/tcexam期末周学校要同时给300名学生组织线上笔试题库导入、各班次时间窗、考中盯着谁在线、考完还要人工逐份录成绩——任何一步出错都是一周的加班。TCExam 就是为此类场景而生的开源在线考试系统从出题、发卷、批阅到统计报告全流程都能部署在你自己的服务器上。下面把它从零跑通再按一场考试的完整生命周期走一遍。 部署前环境门槛与方案决策TCExam 是纯 PHP 服务端应用你的机器只需满足一条硬门槛PHP ≥ 8.2官方在 8.2/8.3/8.4 上验证过并带 mysqli 或 pgsql、gd、intl、mbstring、curl、zip、openssl 等常见扩展。Web 服务器推荐 Apache mod_php自带 .htaccess 访问控制依赖它数据库用 MySQL/MariaDB 或 PostgreSQL 都行。还有一处容易被忽略17 版起TCPDF、PHPMailer 这类库不再随源码捆绑改由 Composer 管理。不跑composer install应用根本起不来——这是手动安装最常见的第一步坑。方案上有三种走法本地集成环境XAMPP 之类适合先摸界面但手动装库比较折腾云服务器手动安装生产部署的标准路线权限、证书、备份全可控Docker Compose一条命令拉起 Apache PHP MariaDB 完整栈安装向导自动执行推荐先用 Docker 跑通、确认值得再上生产手动装——两者源码完全相同体验等价。 从零到跑通安装实操容器化最快路径git clone https://gitcode.com/gh_mirrors/tc/tcexam cd tcexam make up # 等价于 docker compose up --build栈起来后不需要手动跑安装向导——容器入口脚本会拿 docker-compose.yml 里的数据库参数自动执行无交互安装。此时浏览器打开 http://localhost:8080/ 在admin/code/用默认账号admin/1234即可进入管理后台。提醒一句PDF 字体文件在首次启动时后台生成刚起完容器就去导出 PDF 可能还没就绪稍等或手动跑一次make fonts即可。数据库、配置、缓存在命名卷里docker compose down / up不丢数据。手动安装四步走生产走这条云主机上备齐 Apache PHP 数据库后剩下就是拉源码 → 装依赖 → 配目录权限 → 跑安装向导。composer install # 同时触发 PDF 字体生成 make lang # 可选预生成多语言翻译缓存把站点根目录指向项目目录让cache/、install/、admin/backup/和三处*/config/目录对 Web 用户可写然后浏览器访问/install/路径填数据库连接信息。安装程序会生成配置文件、为实例写入唯一的随机密钥K_RANDOM_SECURITY。此时浏览器应提示安装成功从根地址即可看到登录页。 走通一场考试出题、组卷、监考、阅卷、出分从管理后台视角把一次考试完整走一遍。出题与组卷题库建一次发卷按班分在 题库管理模块 里按科目建题单选、多选、判断、填空都内置题干支持图片、音视频还能嵌 LaTeX 公式。已有题库就直接走 TSV/XML 导入页不必一道一道敲。定义考试在admin/code/tce_edit_test.php选科目、设时长、开卷时间窗、计分规则。真正好用的地方是随机抽题——可以为每个考生单独生成一张卷子题目和选项顺序都打乱坐一起的邻居拿到的卷子不同从源头压住抄题。把考试派给用户组各班只看到属于自己的场次。开考与监考倒计时、导航、在线状态考生端是倒计时、题目导航、随时保存答案的干净界面浏览器打开就能答。管理员侧可以随时打开在线考生页面看到此刻谁正处在考试中——有人掉线或页面卡住事后都有处理依据。自动阅卷与出分交卷即出成绩考生交卷的瞬间客观题自动批完成绩页立即可见可以设置考生自看成绩并附解析也可以由系统用邮件把成绩直接推送过去。管理员端的成绩统计页给出及格率、分数段分布、每题正确率配 SVG 图表还能一键导出 TSV/XML/PDF 归档。期末周那 300 人人工录成绩这一步被彻底干掉了。 配置深挖只动3个关键项装完系统配置基本不用碰。只有真实使用场景撞上以下三点时才值得打开配置文件。SMTP 成绩通知邮件想让成绩通知、注册确认真正送到收件箱编辑shared/config/tce_email_config.php$emailcfg[Host] smtp.example.com; $emailcfg[SMTPAuth] true; $emailcfg[Username] examexample.com; $emailcfg[Password] 你的SMTP密码;端口与加密方式Port / SMTPSecure在同文件里465 配 ssl、587 配 tls 是常见组合。再把AdminEmail填成真实管理邮箱否则注册申请通知会发往虚空。LaTeX 公式渲染路径核对数理、统计类课程必开这项。题目里用[tex]...[/tex]包住的公式由服务端渲染成 PNG 并缓存考生浏览器不需要任何插件。前提是服务器装了 pdflatex 和 ImageMagick然后在shared/config/tce_latex.php填对路径define(K_LATEX_PATH_CONVERT, /usr/bin/magick); define(K_LATEX_PDFLATEX, /usr/bin/pdflatex); define(K_LATEX_FORMULA_DENSITY, 150);路径用which pdflatex、which convert现查细节见 doc/LATEX.md。单点登录对接 CAS / LDAP / RADIUS学校或公司已有账号体系时TCExam 可以直接搭车CAS 在shared/config/tce_cas.phpLDAP 在tce_ldap.phpRADIUS 在tce_radius.php。配好后考生用原有账号直接登录你不必为考试系统单独维护一套账户。没有账号体系就用内置账户加 TSV 批量导入用户不必硬上 SSO。️ 踩坑与排障4个高频症状前面趟过的路按症状对号入座。症状部署后页面空白或报 vendor 相关的致命错误。原因17 版起 PHP 库不再随源码打包clone 后没执行 composer install应用无法运行。 处理执行composer install其 post-install 钩子会顺带生成 PDF 字体离线服务器可在联网机器装好后再把 vendor 目录传过去。症状题目里的 LaTeX 公式显示为原始代码或渲染报错。原因九成是路径没写对或 pdflatex、ImageMagick 根本没装。 处理用which核实路径后回填 tce_latex.php默认文档类只支持 10/11/12pt 字号要改字号需先装 extsizes 包。症状容器刚启动PDF 导出提示不可用。原因字体文件是首次启动后在后台异步生成的有时间差。 处理等几分钟重试或执行make fonts同步生成。症状网页安装向导卡在数据库连接这一步。原因通常是三类之一——主机/端口填错、数据库账号对目标库无权限、安装目录不可写导致配置落不了盘。 处理先用同账号手动连一次库确认可达再把install/、cache/与三处配置目录设为 Web 用户可写。️ 上生产加固与运维清单删除整个install/目录安装向导不再可访问删除默认账号admin/1234新建一个 level-10 管理员替代确认K_RANDOM_SECURITY是安装器生成的随机值PDF 报告带 email 参数的访问入口靠它校验占位默认值会被直接拒掉文件权限收口文件 644、目录 755仅cache/、admin/backup/与配置目录对 Web 用户可写数据库与备份目录纳入定期备份后台自带备份模块 tce_edit_backup.php性能上给三个方向就够了开 PHP OpCachemake lang预生成翻译缓存别让首个请求付编译成本历史考试数据定期 TSV 导出归档并清理别让一张成绩表无限长。部署成功后往哪走系统跑起来之后有三个方向值得接着探索多语言内置 26 种语言翻译集中在一个 TMX 文件shared/config.default/lang/language_tmx.xml维护改完跑make lang生效也支持 RTL 从右到左排版纸笔考试兜底可生成可打印的 PDF 试卷和 OMR 答题卡扫描上传后自动识别、批阅依赖 zbarimg适合机器数量不够的考场数据与账号对接成绩数据全量支持 TSV/XML 导出方便接自己的教务系统账号侧可深入 CAS/LDAP/RADIUS 任意一种下一次期末周你要做的只是打开后台、派好题库和时间窗——300 人浏览器一打开就开始答题批卷、统计、导出成绩都交给机器去干。【免费下载链接】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),仅供参考