我想做一个在线编译器。
我在电脑上测试我所有的代码(我安装了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
——编辑:
例如我的prog.cpp看起来像
include <iostream>
using namespace std;
int main() {
cout<<"TEST";
return 0;
}
我的函数应该写"TEST",但它只写了:
数组1
我该怎么办?
从PHP文档中不清楚exec
是否调用shell,但即使它这样做,它也可能提供最小的环境。无论哪种方式,您都可能需要提供g++
的完整路径。试着修改一下:
$polecenie = 'g++ '.$file.' -o a.exe ';
…:
$polecenie = '/usr/bin/g++ '.$file.' -o a.exe ';
…并确保验证g++
的完整路径。