【问题标题】:Calling gcc by PHP on Redhat在 Redhat 上通过 PHP 调用 gcc
【发布时间】:2011-12-24 08:52:01
【问题描述】:

我通过 exec 命令通过 PHP 调用 gcc。然后 gcc 给出了奇怪的错误,例如“stddef.h cannot be found”。

PHP 在用户名“oracle”下运行。也就是说,当我们通过 PHP 脚本通过“exec”调用“whoami”时,它会给出 oracle 作为用户名。

我们可以在终端上轻松调用 gcc 而不会出错。

我们可以毫无错误地调用“sudo -u oracle gcc source.c”。

所以这对我来说很奇怪。有什么想法???

PS:它在 Fedora 和 Apache 上运行良好;在 Ubuntu 上使用 Apache。

【问题讨论】:

  • 检查 dmesg(1)/var/log/audit/audit.log 以获取 SELinux AVC 拒绝/拒绝通知。
  • 如果您在 c 文件中使用 #include<stddef.h>,请尝试将 -I/usr/include/linux/ 附加到您的 exec 命令中。如果你使用#include<linux/stddef.h> 附加-I/usr/include 应该这样做。
  • 源码很简单(只是一个printf),只包含stdio.h 请注意使用终端时效果很好。

标签: php redhat gcc4


【解决方案1】:

只比较PHP和shell下的环境,看看区别

【讨论】:

    猜你喜欢
    • 2016-08-11
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多