Daniilmar
@Daniilmar
Software Engineer

Создание системы удаленной компиляции

Какие технологии используются для создания сабжа? Имеются в виду системы, по типу используемых в спортивном программировании: человек загружает свой код, указывает язык, код отправляется на сервер, там компилируется, возвращается ответ компилятора. Что можно почитать по данной теме? Какую технологию следует использовать? Существуют ли готовые open source решения?

  • Вопрос задан
  • 2927 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР

Если речь именно о компиляции, без запуска, то как-то так?

<?
$commands = [
    'ls'    => 'ls -la', 
    'basic' => '/path/to/basic param1 param2', 
    'java'  => '/path/to/java param param',
];

if (isset($_FILES['file']) && !$_FILES['file']['error'] && isset($commands[$_POST['lang']]))
{
    $comm = $commands[$_POST['lang']];
    $file = $_FILES['file']['tmp_name'];

    echo "<pre>";
    echo `$comm $file 2>&1`;
    echo "</pre>";
}
?>
<form enctype="multipart/form-data" method="POST">
  <select name="lang">
  <?php foreach ($commands as $key => $void):?>
    <option><?=$key?></option>
  <?php endforeach ?>
  </select><input name="file" type="file" /><input type="submit" /></form>

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zunkree
@zunkree

Может distcc подойдет?

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы