当我编译C/C++程序与php
popen
...我得到这个错误:编译错误: “G ++:错误试图给exec 'cc1plus':execvp:没有这样的文件或目录”
g++: error trying to exec 'cc1plus': execvp: No such file or directory
但如果我跑在外壳PHP代码..它工作正常..
在Arch Linux的..
PHP代码:
<?php
function rfile($fp) {
$out="";
while (!feof($fp)) {
$out.= fgets($fp, 1024000);
}
return $out;
}
$p = popen('g++ -Wall -g aplusb.cc -o aplusb 2>&1', 'r');
$result = rfile($p);
pclose($p);
echo $result;
?>
谢谢
你试过打印ENV变量,并比较它们?你有没有安全模式? – Vyktor 2012-01-16 10:34:08
是的..我比较了PHP和shell之间的env变量......但它没有任何帮助......而我的安全模式是关闭的。 – 2012-01-16 10:38:23
您是使用相同的用户还是执行脚本从Web服务器?添加“-v”(应该是详细输出),也许会有答案。 – Vyktor 2012-01-16 10:43:14