一起做OJ-环境搭建

这几天,看到OJ火了起来,尤其是OnlineJudge(QingDaoU)和HUSTOJ。

作为正在花大力研究PHP和Bootstrap的我,看到了,当然不会甘心。

于是,我决定把学到的知识用在编写OJ上。

我选择了腾讯云买的美国VPS,这样不用备案。

首先,我一下这次的大概架构:

用户登录(MySQL储存用户信息)->获取题目(MySQL的"SELECT * FROM ... WHERE 1")->做题(在线解释器,使用MinGW正好符合要求,有需求也可以使用python连接MySQL进行脚本判题)

好吧,我承认话说多了,那么先开始搭建环境吧

一、PHP环境(建议使用PHP7.1)

注意,虽然宝塔面板安装PHP蛮简单,但是fopen要注意不能在配置(php.ini)中出现于disabled_function里,不然会throw一个Error

如果你没有用宝塔面板,也可以自己搭建PHP。

二、MySQL环境(建议使用5.7)

也是没什么好说的,但是千万记住root密码,不然你会后悔的,都是教训啊:-(

三、Apache环境(建议2.4)

但是你用2.2其实没什么大问题,但是可能和PHP的兼容性不太好

现在测试一下你的PHP环境吧

 把这些代码复制到index.php里,然后访问localhost试试

<?php
echo '<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>恭喜,站点创建成功!</title>
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="//cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
<script src="//cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container" style="margin-top:9%;">
<div class="jumbotron">
<div class="panel panel-success">
<div class="panel-heading"><h1>恭喜, 站点创建成功!</h1></div>
</div>
<p><h3>站点创建成功,本页面由系统自动生成。</h3></p>
<p><li>本页面在FTP根目录下的index.html</li></p>
<p><li>您可以删除或覆盖本页面</li></p>
<p><li>FTP相关信息,请到软件后台查看</li></p>
<p><li>我们为您提供了完善的数据备份功能,请到后台进行相关设置</li></p>
</div>
</div>
</body>
</html>';
?>

如果有这个:

说明环境搭建成功了

那么,第一大块搞定

但是,下面的第二大块小编也觉得很烧脑

因为,需要引入Python解释器和MinGW的解释器,但是前面的test中发现,Php调用MinGW无法编译,不知道为什么

所以,需要借助外部Python脚本进行编译

猜你喜欢

转载自www.cnblogs.com/sheng-fan/p/MakeOJ_001.html