Método de instalação
Web
- Instale e configure um servidor PHP disponível, como Apache, Nginx, etc. Os usuários do Linux recomendam a instalação de PHP Extension SYSVSEM
- Instale e inicie o MySQL Server, execute
doc/init.sql para inicializar o banco de dados e modificar as informações de conexão do banco de dados em web/code/inc/database.php - Para exibir fórmulas de matemática, faça o download do MathJax e descomprima com
web/assets/Mathjax/ - Copie todos os conteúdos no diretório da web para o diretório raiz do site para garantir que os usuários do servidor (como www) tenham permissões de leitura e gravação (770)
- Teste se você pode acessar http: //localhost/code/index.php
Daemon
Usuários do Windows: (depreciado)
- Modifique o diretório de dados, a senha do MySQL e outras informações em
daemon/windows_binary/config.ini - Execute
daemon/windows_binary/daemon.exe - Se o aviso "começou com sucesso.
Usuários do Linux:
- Instalando a ferramenta de compilação, requisitos:
- G ++> = 4.6
- libmicrohttpd> = 0.9.21
- libmysqlclient correspondente à versão MySQL
Executar em daemon/
make
Se não houver erro, modifique o diretório de dados, a senha do MySQL e outras informações em daemon/config.ini
Executar em daemon/
./daemon
Se o aviso "começou com sucesso.
Arquivo de configuração
Daemon
#### config.ini
- Database_user/Database_pass é o nome de usuário da conexão e a senha do banco de dados MySQL, e a senha pode ser deixada em branco.
- Datadir é o diretório em que os dados de avaliação são armazenados. Este diretório armazena o diretório nomeado pelo número da pergunta. Cada diretório nomeado pelo número da pergunta armazena os dados de teste para a pergunta. Os dados do teste podem ser nomes de arquivos de entrada e saída emparelhados, por exemplo:
- /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*] A linguagem de envio permitida e as opções de compilação correspondentes correspondem à configuração da Web Lang_Conf.php
Web
#### lang_conf.php
- Lang_name define o nome de exibição para cada idioma
- Lang_Ext Definir extensões de arquivo de origem para vários idiomas
#### Cookie.php
- Cookie_key define uma corda complexa para criptografar cookies. Deve ser modificado quando implantado em um ambiente de produção para evitar falsificação de cookies
- Cookie_expire Cookie Tempo de expiração (costumava lembrar -se de fazer login)
#### checkLogin.php
- Requim_auth se é necessária autenticação global, ou seja, você só pode consultar as perguntas do OJ após o login etc.
Atualizar
Você pode testar perguntas de resposta.
- Adicionar método: altere
judge a Submit em edit.php . - Atualize o arquivo de entrada baixado pelo usuário: clique no botão
Update no problempage.php (se você deseja adicionar arquivos adicionais, coloque addition.zip no diretório dos dados de teste).
Alterou o método de classificação dos dados de teste: o comprimento do arquivo de entrada é usado como a primeira palavra -chave e a ordem do dicionário é a segunda palavra -chave.
Na comparação de pontos flutuantes, julgamos se a saída do usuário é nan .