gpt4 book ai didi

php - 从 php 执行 C 代码

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:37 25 4
gpt4 key购买 nike

我正在尝试使用 php 编译并运行存储在我计算机本地的 C 文件我使用了以下代码

$dir = '/home/User/Desktop';
if ( !file_exists($dir) ) {
mkdir ($dir, 0744);
}

file_put_contents ($dir.'/test.c', $code);

$path = "/home/User/Desktop/test.c";
$Command = "gcc $path 2&>1";
exec($Command,$return_val,$error);

我已经使用 chmod 和 chgrp 设置了文件的所有权限但在执行时它只是在我的屏幕上回显“成功”而不是我的 $output 值这是我在

中键入的示例 C 程序
#include <stdio.h>
int main()
{
printf("Hello world");

return 0;

}

但是当我使用 GCC 执行时,下面的程序运行正常我目前使用的是 Ubuntu 14.04.2 LTS

我试过用

$Command = "gcc $path 2&>1"; $output = exec($Command); $output = exec(./a.out);

但我仍然无法得到想要的输出

我试过

$output = exec($Command,$return_val,$error);

现在当我回显 $error 它给了我“2”

我试过使用系统

$last_line = system('gcc $path', $retval);
echo '
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;

我得到以下输出

Last line of the output: 
Return value: 4

sh: 1: cannot create 1: Permission denied
gcc: error: 2: No such file or directory

但我使用

授予了该文件的权限
 sudo chmod g+w /home/User/Desktop/test.c

谁能帮我解决这个问题?

最佳答案

这不是2&>1,而是2>&1

sh: 1: cannot create 1: Permission denied
gcc: error: 2: No such file or directory

您在这里看到的第一个错误是 shell 提示无法创建名为“1”的文件来重定向标准输出。
第二个错误是 gcc 提示缺少名为“2”的输入文件。

关于php - 从 php 执行 C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com