昨天我问了这个问题
Building g++ via PHP: no build output
那部分已经解决了,但现在我有一个类似/相关的问题。
当我通过浏览器地址栏运行编译后的可执行文件(参见其他问题)时,输出会按预期打印到浏览器窗口。
但是,我想在 PHP 中使用它并通过 exec 或 shell_exec 函数的返回来获取输出。我尝试了各种方法,包括以下内容:
$output = "test.cgi";
echo shell_exec($output);
echo shell_exec("$output 2>&1");
echo system($output);
什么都行。。在内部,可执行文件是 c 代码,由 g++ 编译,并使用 print_f。默认情况下,这应该根据规范输出到 STDOUT,所以我不明白为什么这不起作用。
任何人都可以帮忙吗?
最佳答案
对于任何有同样问题的人,我找到了解决方案:
exec 需要文件的绝对路径
关于PHP exec 和 shell_exec : no output,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66183600/