Компиляция и запуск программы на С ++ на PHP

0

Я хочу сделать онлайн-компилятор.

Я тестирую все свои коды на компьютере (я установил php).

Я написал этот код для компиляции, но он не работает (я искал слишком много часов, но я не нашел

<?php
$file="prog.cpp";

function kompiluj(){
    global $file;

    $polecenie = 'g++ '.$file.' -o a.exe ';

    global $errorFlag;
    global $errorDetail;
    $output = exec($polecenie, $errorDetail, $errorFlag);
    echo $errorDetail;
    echo $errorFlag;
    echo $output;
}

?>

Может быть, кто-то знает, чтобы это исправить? Большое спасибо: P

--EDIT:

Например, моя prog.cpp выглядит

include <iostream>
using namespace std;

int main() {
cout<<"TEST";
return 0;
}

Моя функция должна написать "TEST", но она только написала:

Массив 1

Как я могу сделать?

  • 0
    Ну, именно то, что происходит / не происходит, и как это отличается от того, что вы ожидаете?
  • 0
    'Geordi - C ++ eval bot' ( eelis.net/geordi ) может быть интересным.
Показать ещё 5 комментариев
Теги:
compilation

1 ответ

0

Это не ясно из документации PHP, если exec вызывает оболочку или нет, но даже если это так, она, вероятно, обеспечивает минимальную среду. В любом случае вам, вероятно, потребуется предоставить полный путь к g++. Попробуйте изменить это:

$polecenie = 'g++ '.$file.' -o a.exe ';

... к этому:

$polecenie = '/usr/bin/g++ '.$file.' -o a.exe ';

... и обязательно проверьте полный путь к g++.

  • 0
    Я изменяю это на: $ polecenie = 'g ++'. $ File. ' -o a.exe ';, но он тоже не работает; (
  • 0
    Вы пробовали $polecenie = '/usr/bin/g++ '.$file.' -o a.exe '; ? Это то, что я предлагал.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню