c++程序没有使用php脚本和exec()、shell_exec()、system()等命令执行


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、passthrough等。现在为了简单起见,在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目录中的libgccs.so替换这个位于lampp目录的lib文件夹中的文件,并将其重命名为libgcc_s.so.1。