php - 如何在ubuntu中使用php脚本编译c程序

标签 php c++ gcc

我正在开发一个在线测试系统,我们可以通过它进行在线编程竞赛。 同样,我想使用 system()shell_exec()exec() 等函数从 php 脚本调用 C 编译器等等,但该功能并未创建 a.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++ 有时可以是指向同一目录中另一个可执行文件的符号链接(symbolic link),因此更改其权限不会执行任何操作(默认情况下符号链接(symbolic link)为 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

关于php - 如何在ubuntu中使用php脚本编译c程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18805294/

相关文章:

c++ - 如何开发虚拟驱动器

c - va_arg 在 cygwin x64 中给出了一些奇怪的东西

c++ - 为什么 sizeof(std::stack<int>) 这么大?

php - 将一种形式的值(value)转化为另一种形式的值(value)

javascript - 当选择按钮组中的特定按钮时,如何分配不同的 url 链接?

c++ - 将指向成员的指针从模板参数包传递给函数对象

c++ - std::experimental::optional inside constexpr 函数

php - 如何从表 2 中选择数据与表 1 连接

php - 在 php 中,如何从另一个类中的另一个类调用函数?

C++是否可以确定指针是否指向有效对象?