0

我有一个无需 root 即可运行的 bash 脚本。

但是当我像这样通过shell_exec()(或system(),或exec())运行它时:

return system("/home/tom/rrd/rrdtool-drawgraph.sh $interval $multiples - debug 2>&1;");

我收到以下消息:

sh:/home/tom/rrd/rrdtool-drawgraph.sh:权限被拒绝

(奇怪的是,该消息是重复的。不确定这是否相关?编辑:当我使用反引号而不是 . 时,它似乎没有重复shell_exec。去图。)

我试过使用 777 文件权限。我尝试将所有者和组更改为www-data. 我已将其输出的目录更改为具有同样许可的权限。

它仍然不会运行。

我唯一能想到的是脚本在我的主目录中。如果这是问题所在,我会感到惊讶(因为我的 Web 根目录也在我的主目录中),但我已准备好进行更正。如果这是问题所在,我可以在不需要 root 权限的情况下修复它吗?

如果这与我的主目录无关,那有什么问题?我该如何解决?

4

1 回答 1

0

原来因为脚本的位置。

我把它全部移到了/usr/share/rrdscripts,它工作正常。

奇怪的是,输出文件没有权限问题:脚本仍然能够写入我的主目录中的输出文件夹。

于 2010-09-18T12:03:22.767 回答