如何在 Ubuntu 中使用 PHP 脚本编译 C 程序

how to compile c program using php script in ubuntu

本文关键字:脚本 PHP 编译 程序 Ubuntu      更新时间:2023-10-16

我正在开发一个在线测试系统,通过它我们可以进行在线编程竞赛。同样,我想使用 system()shell_exec()exec()等函数从 php 脚本调用 C 编译器。但是该函数没有创建 .out 文件当我使用终端编写g++ a.cpp -o a时,它起作用了。

但这不起作用

system("g++ a.cpp -o a",$as); //a.cpp is inside www folder
PHP 以

与您不同的用户身份运行,因此可能没有执行 g++ 命令的权限。

要使 PHP 可以访问该命令,请尝试以下操作:

sudo chmod o+x /usr/bin/g++

:注: /usr/bin/g++有时可以是指向同一目录中另一个可执行文件的符号链接,因此更改其权限不会执行任何操作(默认情况下符号链接为 777)。如果上述命令不能解决问题,您能否将此命令的输出添加到您的问题中,这将显示它指向的位置:

ls -al /usr/bin/g++

在我的系统上,这输出

lrwxrwxrwx 1 root root      7 2011-08-10 14:52 /usr/bin/g++ -> g++-4.5

这意味着g++本质上是 g++-4.5 的别名,所以我会允许对g++-4.5执行"其他"权限:

sudo chmod o+x /usr/bin/g++-4.5