php - 不使用 sudo 就无法执行程序

标签 php c linux raspberry-pi

如果不在文件之前键入 sudo,我无法执行文件。我认为问题是我使用的库要求您成为 super 用户。

我正在为 Raspberry Pi 开发一个程序,到目前为止一切都运行良好。该程序采用命令行参数并将其输出到单独的 2x16 LCD。因此,如果我以 root 身份键入以下命令或将 sudo 放在它前面,程序将按预期运行:./serialTest Hello World

我现在正在做的是获取 PHP 网页上文本框的值,并使用 exec() 将其作为命令行参数提交给程序> PHP 中的函数 问题是我无法执行它,因为除非我是 root 我已经尝试过 exec("sudo ./serialTest". $textBox ); 但它仍然告诉我 Permission Denied

在进一步阅读我正在使用的库之后,我发现了关于如何在不使用 sudo 或成为 root 的情况下执行 serialOpen 函数的说明我已将用户 piwww-data 添加到 dialout 组 我已使用 id pi 验证了这一点 id www-数据。该程序仍然显示 Permission denied。有什么我可以进一步看的还是我做错了什么?我已经包含了页面的摘录,说明如何在不使用 sudo 或成为 root

的情况下运行它
You can use it without sudo if you add yourself into the dialout group. either edit /etc/group, or use the usermod command. (and logout/login again)
-Gordon

最佳答案

这取决于服务器服务提供商提供的服务器权限。如果您是服务提供者,则编辑 Shell 访问权限以在 PHP 配置文件中执行 Exec 命令。默认情况下,默认情况下不提供 exec,这就是消息即将到来的原因

如果您不是服务提供商,请联系他们做一些事情..

关于php - 不使用 sudo 就无法执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149750/

相关文章:

PHP + MySQL - 搜索脚本(全文)?

c - 如何将大行的位换行,使其不再是一大行?

linux - objdump 如何发出 intel 语法

php - 如何在 zendframework2 中使用部分

php - 特定英国邮政编码区号所需的 preg_match 正则表达式

c++ - 如何在 C/C++ 中使用 lame 将 mp3 解码为 wav?

c - 启动多个 CUDA 内核是否需要返回每个内核的主机?

linux - Mac 和 Linux 上的文本文件中的递归搜索和替换

linux - 在 IntelliJ IDEA 和 Ubuntu 中打开终端

PHP 编辑表单未正确发送到 MySql