Php执行重定向g++;文件错误

Php执行重定向g++;文件错误,php,linux,g++,Php,Linux,G++,我在php脚本中有一个shell_exec,我想从编译中接收错误消息(如果存在)作为shell_exec的返回,或者从文件中获取它……但我不能这样做 这是一个尝试 $compiler=shell_exec("g++ '$path''$file_name' -o '$path''$evaluate_id' >& '$path''$error'"); shell_exec函数可以在发生错误或程序不产生输出时返回NULL 使用此功能无法检测执行失败 当需要访问程序退出代码时,应使用ex

我在php脚本中有一个shell_exec,我想从编译中接收错误消息(如果存在)作为shell_exec的返回,或者从文件中获取它……但我不能这样做

这是一个尝试

$compiler=shell_exec("g++ '$path''$file_name' -o '$path''$evaluate_id' >& '$path''$error'");

shell_exec
函数可以在发生错误或程序不产生输出时返回
NULL

使用此功能无法检测执行失败

当需要访问程序退出代码时,应使用
exec()


请参见

g++将错误消息打印到stderr<代码>shell_exec捕获g++打印到标准输出的内容

将stderr重定向到stdout或使用不同的函数调用g++。

您可能想要使用(并且您想要将
g++
stderr重定向到其stdout),可能类似

 $handle = popen("g++ -Wall -c somesource.c 2>&1", "r");
当然,根据您的需要替换该命令


您需要稍后使用(并且您应该阅读手柄,等等)

我理解您所说的,但我不知道如何做到这一点