如何运行&x27;gcc&x27;使用apache web服务器在浏览器上从php发出的命令
Rookie@PHP,目标是使用PHP,google'd从浏览器编译C程序,并发现解决方案是运行shell_exec命令。因此,程序在shell中工作,但在web浏览器中无法工作 代码是如何运行&x27;gcc&x27;使用apache web服务器在浏览器上从php发出的命令,php,gcc,Php,Gcc,Rookie@PHP,目标是使用PHP,google'd从浏览器编译C程序,并发现解决方案是运行shell_exec命令。因此,程序在shell中工作,但在web浏览器中无法工作 代码是 <?php $output = shell_exec('gcc /home/sam/php_practice/prog.c'); echo "$output"; ?> PS:如果我们将“gcc”替换为“ls”,它将在web浏览器中作为 那么,我不能理解的区别是什么,我是什么 失踪 您需要将错误
<?php
$output = shell_exec('gcc /home/sam/php_practice/prog.c');
echo "$output";
?>
PS:如果我们将“gcc”替换为“ls”,它将在web浏览器中作为
那么,我不能理解的区别是什么,我是什么
失踪
您需要将错误消息从stderr重定向到stdout,以便
shell\u exec()
收集输出。将行更改为:
$output = shell_exec("gcc /home/sam/php_practice/prog.c 2>&1");
如果你需要更多的信息,请点击链接 如果C文件没有任何错误,则编译成功,并且没有要显示的输出。相反,ls将显示目录的内容。如果C文件出错,它将显示在shell中,只需粘贴outputsam@sam:/var/www/html$php hello.php prog.c:在函数“main”中:prog.c:6:3:错误:应为“;”在“return”之前返回0^您需要将错误消息从stderr重定向到stdout,以便shell_exec收集输出。将行更改为:$output=shell_exec(“gcc/home/sam/php_practice/prog.c 2>&1”);巴迪,你的解决方案有效!!!!!谢谢