【问题标题】:executing a shell script from a php file从 php 文件执行 shell 脚本
【发布时间】:2011-03-15 12:00:47
【问题描述】:

我有一个 php 文件,我需要从中调用一个 shell 脚本,我正在执行如下操作:

$out = exec("/root/.mozilla/firefox/score.sh 2>&1");
echo $out;

当我在 Opera 中执行此代码时,它的权限被拒绝。我已授予所有目录和脚本的权限。

问题是因为那个 .mozilla 文件吗?怎么解决?? 也试过 shell_exec().. 不工作

【问题讨论】:

  • 这个问题只针对opera?
  • 不..我什至在mozilla中尝试过..同样的问题..

标签: php shell


【解决方案1】:

您是否授予 Web 服务器用户写入/执行权限?:

例如(假设您的网络服务器用户是属于 apache 组的 apache):

sudo chown apache:apache /root/.mozilla/firefox/score.sh
sudo chmod -R 744 /root/.mozilla/firefox/score.sh

【讨论】:

  • 你的意思是脚本文件的权限??我已经为该目录和脚本文件提供了 777。如果不是你说的,请让我知道该怎么做。
  • @su03:在没有必要的时候设置777会带来很大的安全漏洞。
【解决方案2】:

确保网络用户有权访问指向/root/.mozilla/firefox/ 的所有目录。理想情况下,您应该将此脚本移至 root 的主目录以外的其他位置。

【讨论】: