Méthode d'installation
Web
- Installez et configurez un serveur PHP disponible, tel qu'Apache, Nginx, etc. Les utilisateurs de Linux recommandent d'installer PHP Extension SysvSEM
- Installez et démarrez le serveur MySQL, exécutez
doc/init.sql pour initialiser la base de données et modifiez les informations de connexion de la base de données dans web/code/inc/database.php - Pour afficher les formules mathématiques, téléchargez Mathjax et décompressez sur
web/assets/Mathjax/ - Copiez tous les contenus du répertoire Web dans le répertoire root du site Web pour vous assurer que les utilisateurs du serveur (tels que www) ont des autorisations de lecture et d'écriture (770)
- Testez si vous pouvez accéder à http: //localhost/code/index.php
Démon
Utilisateurs de Windows: (déprécié)
- Modifiez le répertoire de données, le mot de passe MySQL et d'autres informations dans
daemon/windows_binary/config.ini - Exécutez
daemon/windows_binary/daemon.exe - Si l'invite "a commencé avec succès.
Utilisateurs de Linux:
- Installation de l'outil de compilation, exigences:
- G ++> = 4.6
- libmicrohttpd> = 0.9.21
- libmysqlclient correspondant à la version mysql
Courir dans daemon/
make
S'il n'y a pas d'erreur, modifiez le répertoire de données, le mot de passe MySQL et d'autres informations dans daemon/config.ini
Courir dans daemon/
./daemon
Si l'invite "a commencé avec succès.
Fichier de configuration
Démon
#### config.ini
- DATABASE_USER / DATABASE_PASS est le nom d'utilisateur de connexion et le mot de passe de la base de données MySQL, et le mot de passe peut être laissé vide.
- Datadir est le répertoire où les données d'évaluation sont stockées. Ce répertoire stocke le répertoire nommé par le numéro de question. Chaque répertoire nommé par le numéro de question stocke les données de test pour la question. Les données de test peuvent être des noms de fichiers d'entrée et de sortie appariés, par exemple:
- /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 *] La langue de soumission autorisée et les options de compilation correspondantes correspondent à la configuration du Web Lang_conf.php
Web
#### Lang_conf.php
- Lang_name définit le nom d'affichage pour chaque langue
- Lang_EXT Définit les extensions de fichiers source pour diverses langues
#### cookie.php
- Cookie_key définit une chaîne complexe pour crypter les cookies. Il doit être modifié lorsqu'il est déployé dans un environnement de production pour éviter la contrefaçon de cookies
- Cookie_Expire Temps d'expiration des cookies (habitué pour se souvenir de se connecter)
#### checklogin.php
- Require_auth si l'authentification globale est requise, c'est-à-dire que vous ne pouvez vous référer aux questions d'OJ après la connexion, etc.
Mise à jour
Vous pouvez tester les questions de réponse soumettre.
- Ajouter la méthode: modifiez
judge à Submit dans edit.php . - Mettez à jour le fichier d'entrée téléchargé par l'utilisateur: cliquez sur le bouton
Update dans problempage.php (si vous souhaitez ajouter des fichiers supplémentaires, veuillez mettre addition.zip dans le répertoire des données de test).
Modification de la méthode de tri des données de test: la longueur du fichier d'entrée est utilisée comme premier mot-clé et l'ordre du dictionnaire est le deuxième mot-clé.
Dans la comparaison des points flottants, nous jugeons si la sortie de l'utilisateur est nan .