我在php脚本中有一个shell_exec,我希望从编译(如果它存在)收到错误消息作为从shell_exec返回或从文件中获取它...但我不能这样做。
这是一次尝试
$compiler=shell_exec("g++ '$path''$file_name' -o '$path''$evaluate_id' >& '$path''$error'");
答案 0 :(得分:1)
您可能想要使用popen(并且您希望将g++
stderr重定向到其标准输出,或许类似
$handle = popen("g++ -Wall -c somesource.c 2>&1", "r");
当然,请更换命令以满足您的需求。
答案 1 :(得分:0)
shell_exec
函数可以在发生错误或程序不产生输出时返回NULL
。
使用此功能无法检测执行失败。
当需要访问程序退出代码时,应使用 exec()
。
答案 2 :(得分:0)
g ++将错误消息打印到 stderr 。 shell_exec
捕获g ++打印到 stdout 的内容。
将 stderr 重定向到 stdout 或使用其他函数调用g ++。