[英]c++ program not getting executed using php script with commands like exec(),shell_exec(),system()
我正在嘗試在Ubuntu 12.04中使用php腳本編譯和執行c ++程序。正在編譯c ++程序,甚至創建了a.out,但是唯一的問題是./a.out無法正常工作。 我已經嘗試了大多數命令來運行./a.out,例如system(),exec(),shell_exec(),backtick,passthru等。為了簡單起見,現在在與php相同的目錄中創建a.out文件駐留。我在此處發布代碼
$target = $_GET['name'];
chmod($target,0777);
$handle = fopen("compile.sh", "x+");
chmod("compile.sh",0777);
$data = "g++ ".$target;
fwrite($handle, $data);
fclose($handle);
system("sh compile.sh");
chmod("a.out", 0777);
system("./a.out");
我正在從url等處獲取要編譯的文件的名稱。上面的代碼在倒數第二行,即chmod(“ a.out”,0777)上正常工作,但未顯示cpp程序的輸出。 * 最有趣的部分是,在將g ++更改為gcc之后,相同的代碼對於c程序來說可以正常工作 。
我解決了由於文件libgcc_s.so.1給出錯誤的問題
/lib/libgcc_s.so.1:找不到版本'GCC_4.2.0'(/usr/lib/libstdcc+.so.6要求)
我所做的只是用gcc目錄中的libgcc_s.so替換了lampp目錄的lib文件夾中的文件,並將其重命名為libgcc_s.so.1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.