Loading... # 前言 提到在线评测系统(Online Judge),很多人会想到用C++、Java 或 Python 等语言开发。但你可能不知道,PHP 同样能够构建功能强大的在线评测系统!今天我们就来聊聊基于 PHP 的 HUSTOJ ——一个成熟稳定的开源在线评测系统 ## HUSTOJ hustoj 由 华中科技大学(实际上只有 zhblue 一个人和喜欢 pr 的网友) 开发,前后端完全使用 php 开发,判题机是 docker ,不用担心安全问题,这点为 oi 教学系统提供了很好的解决方案 主要优势: - 开源免费 - 允许商用(只需要开放源代码) - 海量题库(约 $x(x \geq 5 \times 10^3)$ 道题目可以下载) - 支持多种语言提交 - 社区活跃 - 易于二开(直接修改文件即可,不需要重新 build) ## HUSTOJ 相关资料 QQ 群:`23361372` wiki:[代码的那些事 | 程序员回忆录](http://www.hustoj.com/) github:[zhblue/hustoj: Popular Simple Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 简单实用的开源OJ系统](https://github.com/zhblue/hustoj) 题库:[TK题库](http://tk.hustoj.com/) # 正文 我们如何部署如此强势的 online judge 呢? 我们可以使用同样强势的的 [雨云](https://www.rainyun.com/DHEnry_) 和 [宝塔面板](https://bt.cn/) 温馨提示:1-1 也可以部署 hustoj 购买完服务器后,需要安装宝塔面板 操作系统选择 ubuntu 22.04 ## 开始部署 ### 创建数据库 登录上你的 宝塔面板,左侧数据库,创建数据库,数据库名称 jol ,进行创建  ### 运行安装脚本 先登录上你的 宝塔面板 ,进入左侧终端,执行两条命令 ```bash wget http://dl.hustoj.com/install-ubuntu22.04-bt.sh # 拉取安装脚本 bash install-ubuntu22.04-bt.sh # 运行安装脚本 ``` 这时,他会要求你输入数据库用户名和密码,请依次键入你创建数据库的时候的用户名和密码  随后便开始安装了... 期间可能会多次需要你按下 enter 键 > 请不要使用 `Windows + V` 剪切板功能 > 请保持 bt 窗口活跃 > 安装速度结合网络宽带而定 需要按 enter 大杂烩:  ### 创建站点并配置 宝塔左边网站,php,创建网站,域名`http://<server_ip>:<port>`,根目录`/home/judge/src/web`  然后设置这个,左边网站目录,关闭放跨站攻击  然后,左边软件商店,搜索 php ,设置安装的 php,左边禁用函数,取消 putenv 函数的禁用  然后,使用浏览器访问你的 oj ,恭喜你,访问成功!  ## 简单使用 HUSTOJ ### 注册管理员账户 右上角注册,用户名一定要写`admin`,其他随意,注册即可 ### 添加一道题目 后台管理 URL 是 `http://<server_ip>:<port>/admin/` 左侧【问题-管理】【问题-添加】 > ```html > <span class='md'> > </span> > ``` > > 这是 markdown 的标记,题面需要在里面写,支持 latex、katex 添加即可 ## 维护 ### 系统配置 `/home/judge/src/web/include/db_info.inc.php` 有注释 ### 其他你可能需要知道的东西 `/home/judge/src/web` 是站点文件  --- 感谢阅读 最后修改:2025 年 11 月 14 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏