Metode instalasi
Web
- Instal dan konfigurasikan server PHP yang tersedia, seperti Apache, Nginx, dll. Pengguna Linux merekomendasikan untuk menginstal PHP Extension Sysvsem
- Instal dan mulai server MySQL, jalankan
doc/init.sql untuk menginisialisasi database, dan memodifikasi informasi koneksi database di web/code/inc/database.php - Untuk menampilkan rumus matematika, unduh Mathjax dan Decompress ke
web/assets/Mathjax/ - Salin semua konten di direktori web ke direktori root situs web untuk memastikan bahwa pengguna server (seperti www) telah membaca dan menulis izin (770)
- Uji apakah Anda dapat mengakses http: //localhost/code/index.php
Daemon
Pengguna Windows: (sudah usang)
- Ubah Direktori Data, Kata Sandi MySQL dan Informasi Lainnya di
daemon/windows_binary/config.ini - Jalankan
daemon/windows_binary/daemon.exe - Jika prompt "dimulai dengan sukses. Berhasian untuk mengirimkan ...", itu berarti daemon berhasil dimulai dan mengirimkan tes pertanyaan
Pengguna Linux:
- Menginstal Alat Kompilasi, Persyaratan:
- G ++> = 4.6
- libmicrohttpd> = 0.9.21
- libmysqlclient sesuai dengan versi mysql
Dijalankan dalam daemon/
make
Jika tidak ada kesalahan, ubah direktori data, kata sandi mysql dan informasi lainnya di daemon/config.ini
Dijalankan dalam daemon/
./daemon
Jika prompt "dimulai dengan sukses. Berhasian untuk mengirimkan ...", itu berarti daemon berhasil dimulai dan mengirimkan tes pertanyaan
File konfigurasi
Daemon
#### config.ini
- Database_user/database_pass adalah nama pengguna koneksi dan kata sandi dari database MySQL, dan kata sandi dapat dibiarkan kosong.
- Datadir adalah direktori tempat data evaluasi disimpan. Direktori ini menyimpan direktori yang disebutkan oleh nomor pertanyaan. Setiap direktori yang disebutkan oleh nomor pertanyaan menyimpan data uji untuk pertanyaan. Data uji dapat berupa nama file input dan output, misalnya:
- /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*] Bahasa pengiriman yang diizinkan dan opsi kompilasi yang sesuai sesuai dengan konfigurasi web lang_conf.php
Web
#### lang_conf.php
- Lang_name mengatur nama tampilan untuk setiap bahasa
- Lang_ext mengatur ekstensi file sumber untuk berbagai bahasa
#### cookie.php
- Cookie_key menetapkan tali yang kompleks untuk mengenkripsi cookie. Itu harus dimodifikasi saat digunakan di lingkungan produksi untuk menghindari pemalsuan cookie
- Waktu Kedaluwarsa Cookie Cookie_Expire (digunakan untuk mengingat untuk masuk)
#### checklogin.php
- Diperlukan_auth apakah otentikasi global diperlukan, yaitu, Anda hanya dapat merujuk pada pertanyaan OJ setelah masuk, dll.
Memperbarui
Anda dapat menguji Kirim Jawaban Pertanyaan.
- Tambahkan metode: Ubah metode
judge untuk Submit di edit.php . - Perbarui file input yang diunduh oleh pengguna: Klik tombol
Update di problempage.php (jika Anda ingin menambahkan file tambahan, silakan masukkan addition.zip di direktori data uji).
Mengubah metode penyortiran data uji: Panjang file input digunakan sebagai kata kunci pertama dan urutan kamus adalah kata kunci kedua.
Dalam perbandingan Floating Point, kami menilai apakah output pengguna adalah nan .