當我編譯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