【问题标题】:shell_exec does not run some shell commandsshell_exec 不运行某些 shell 命令
【发布时间】:2013-09-06 17:32:10
【问题描述】:

例如,当我尝试执行时

$output=shell_exec('ls -l');
echo "<pre>$output</pre>";

它成功打印了'ls -l'的输出。

但是,我无法运行仅创建文件的 shell 脚本:

shell_exec('sh /home/ubuntu/Desktop/myScript.sh');

是关于apache中定义的用户访问权限吗?

我该如何解决?

【问题讨论】:

  • 或该文件夹的文件权限。
  • 或者如果该命令需要设置某些可能会搞砸的环境变量。
  • 我只是在 myScript.sh 中尝试将命令作为 echo "test string" >> /home/ubuntu/Desktop/out.txt
  • 我刚刚找到了我的问题的答案:*.com/questions/8668274/…

标签: php linux apache ubuntu shell-exec


【解决方案1】:

您希望该脚本的输出是什么?我 shell_exec() 可能只会输出 STDOUT,所以如果有错误,你需要像这样从 STDERR 重定向它们:

<command> 2>&1

我在这里猜测,但只需在 shell 脚本中使用一个简单的 echo 语句即可。看看这是否有效。

【讨论】:

    最近更新 更多