如何从php运行linux命令

时间:2013-12-10 18:25:10

标签: php c++ c linux command

我想在linux服务器上编译一个c / c ++代码。我正在使用PHP。假设我正在从用户那里收到一个源代码,然后我用它创建一个临时文件然后使用gcc我只是想创建一个简单的可执行文件。要做所有那些我正在做以下代码,但它不产生任何输出。那么如何在linux服务器上从php运行linux命令,我的意思是以下代码ok。如果是,那么为什么它不生成任何名为“latest”的可执行文件

$received_code = $_POST['myc'];


        $fp = fopen("myfile", "w") or die("Couldn't open file for writing!");
        fwrite($fp, $received_code) or die("Couldn't write values to file! ...Compilation Error");
        fclose($fp);

                shell_exec("gcc -o latest myfile");

2 个答案:

答案 0 :(得分:1)

我认为一个很好的猜测是gcc不在你的PHP PATH中,但只是从shell_exec调用获得输出可能会告诉你:

$output = shell_exec('gcc -o latest myfile');
echo "<pre>$output</pre>";

尝试使用gcc的绝对路径

答案 1 :(得分:1)

至少将myfile重命名为myfile.c,否则gcc不会将其识别为c源代码。

您是否检查过我的文件是否被写入?如果没有,则可能是权限问题。

顺便说一下,如果您想在编译后执行程序,请与恶意用户玩得开心: - )