安裝方法
Web
- 安裝並配置好一個可用的php服務器,如apache,nginx等,Linux用戶建議安裝php擴展sysvsem
- 安裝並啟動mysql服務器,運行
doc/init.sql初始化數據庫,修改web/code/inc/database.php中的數據庫連接信息 - 如需顯示數學公式,下載Mathjax並解壓到
web/assets/Mathjax/ - 將web目錄下的全部內容複製到網站根目錄下,保證服務器用戶(如www)有讀寫權限(770)
- 測試能否訪問http://localhost/code/index.php
Daemon
Windows用戶:(Deprecated)
- 修改
daemon/windows_binary/config.ini中的數據目錄,mysql密碼等信息 - 運行
daemon/windows_binary/daemon.exe - 如果提示"Started successfully.Waiting for submitting...",說明daemon啟動成功,提交一個題目測試
Linux用戶:
- 安裝編譯工具,要求:
- G++ >=4.6
- libmicrohttpd >= 0.9.21
- libmysqlclient 對應mysql版本
在daemon/中運行
make
如果沒有出錯,修改daemon/config.ini中的數據目錄,mysql密碼等信息
在daemon/中運行
./daemon
如果提示"Started successfully.Waiting for submitting...",說明daemon啟動成功,提交一個題目測試
配置文件
Daemon
####config.ini
- DATABASE_USER/DATABASE_PASS 為mysql數據庫的連接用戶名密碼,密碼可以留空
- datadir 為存放評測數據的目錄,該目錄存放以題號命名的目錄,每個以題號命名的目錄下存放該題的測試數據,測試數據輸入輸出文件名配對即可,例如:
- /home/judge/data/1000/a1.in
- /home/judge/data/1000/a1.out
- /home/judge/data/1000/hello.in
- /home/judge/data/1000/hello.out
- /home/judge/data/1001/abc.in
- /home/judge/data/1001/abc.out
- /home/judge/data/1001/c2.in
- /home/judge/data/1001/c2.out
- [lang*] 允許的提交語言及相應的編譯選項,與web端的配置lang_conf.php對應
Web
####lang_conf.php
- LANG_NAME 設置各種語言的顯示名稱
- LANG_EXT 設置各種語言的源文件擴展名
####cookie.php
- cookie_key設置一個複雜的字符串用於對cookie加密,在生產環境中部署時務必修改,避免偽造cookie
- cookie_expire cookie的過期時間(用於記住登錄)
####checklogin.php
- REQUIRE_AUTH 是否要求全局認證,即登錄後才能參看OJ的題目等
Update
可以測試提交答案題。
- 添加方式:在
edit.php裡將judge的方式改為Submit 。 - 更新用戶下載的輸入文件:在
problempage.php裡單擊Update按扭(如果要添加附加文件請把addition.zip放在測試數據的目錄中)。
更改了測試數據的排序方式:將輸入文件的長度作為第一關鍵字,字典序作為第二關鍵字。
在浮點數比較中判斷了用戶的輸出是否為nan 。