如何将沙盒程序的输出重定向到调用PHP文件?

如何将沙盒程序的输出重定向到调用PHP文件?,php,gcc,sandbox,Php,Gcc,Sandbox,我试图在沙箱中执行c代码。我正在使用libsandbox0.3.5。 我就是这样做的: 1) PHP文件首先使用shell_exec编译沙箱 shell_exec("gcc -o sandbox Sandbox.c -lsandbox"); 2) 然后我还编译了要沙盒的程序 shell_exec("gcc -static -o 19 19.c"); 3) 然后我执行程序 shell_exec("./sandbox ./19<inputFile>outputFile"); s

我试图在沙箱中执行c代码。我正在使用libsandbox0.3.5。 我就是这样做的: 1) PHP文件首先使用shell_exec编译沙箱

 shell_exec("gcc -o sandbox Sandbox.c -lsandbox");
2) 然后我还编译了要沙盒的程序

 shell_exec("gcc -static -o 19 19.c");
3) 然后我执行程序

shell_exec("./sandbox ./19<inputFile>outputFile");
shell_exec(“./sandbox./19outputFile”);
上面的代码从inputFile获取stdin,并将19程序的输出写入outputFile。沙盒程序返回“OK”、“RF”、“TL”、“ML”等。我希望沙盒程序的输出被接收到PHP文件中调用它的字符串中。我该怎么做

我面临的另一个问题是,尽管有足够的权限,但仍无法创建OUTPUTFILE

另外,在沙箱中执行C程序是否可以确保安全性?例如,这是否足够,或者我需要采取更多的预防措施