hustoj acm 在线评测 源代码 评测 安装 优化 设置
finnd . -name "*.php"|xargs sed -i "1i //Modified By XXX"
find . -name "*.php"|xargs sed -i 's/\/\/Modified By XXX//g'
find . -name "*.php"|xargs sed -i "/^<?php/a\//Modified By XXX"
多出的标记主要分布在 include/set_post_key.php online.php admin/menu.php admin-header.php /oj-footer.php oj-header.php
默认模板在template bs3文件加下,直接执行替换掉加入的标记
team_generate.php
$user_id=$prefix.($i<10?('0'.$i):$i);
$password=substr(strval(rand(1000,9999)),0,4); 密码改成4位数字
pdo_query($sql,$user_id,$email,$_SERVER['REMOTE_ADDR'],$password,$nick,$school,$email,$_SERVER['REMOTE_ADDR'],$password,$user_id,$school) ;
数据库中写入昵称时用userid替换默认昵称
submit.php
// last submit 两次提交间隔60秒
$now=strftime("%Y-%m-%d %X",time()-60);
$sql="SELECT `in_date` from `solution` where `user_id`=? and in_date>? order by `in_date` desc limit 1";
$res=pdo_query($sql,$user_id,$now);
if (count($res)==1){
$view_errors="You should not submit more than twice in 60 seconds.....<br>";
vim /soft/hustoj-read-only/core/judge_client/judge_client.cc
#include </usr/local/mysql/include/mysql.h> 绝对路径,mysql开发库位置
#define STD_MB 1572864 // 改大为1.5倍 感谢qwb提供支持
#define STD_T_LIM 2
#define STD_F_LIM (STD_MB<<5)
#define STD_M_LIM (STD_MB<<7)
#define BUFFER_SIZE 5120
编译 ./make.sh
此时检查会发现judeged版本还是老的,是因为在用的文件linux不让复制替换,所以make.sh的最后复制命令未成功执行
手动 cp -rfp judged /usr/bin/
run?的权限 777
data文件权限 同 网页访问权限,可以互相加入组,web权限
DEBUG 的设置为1,可以在编译评测中看到更多信息,judge_client.cc 中修改