Php Apache执行exec函数的权限

Php Apache执行exec函数的权限,php,linux,apache,exec,centos,Php,Linux,Apache,Exec,Centos,我一直在尝试在CentOS上运行以下php代码: <?php $command = "diff file1 file2 > file3"; exec($command, $output, $error_code); if ($error_code != 0) { echo "Error: $error_code"; } ?> 它总是重复“错误:1”。错误1为“不允许操作”。看起来apache没有做某些事情的权限,对吗?我怎样才能解决这个问题呢?我想这是因为您

我一直在尝试在CentOS上运行以下php代码:

<?php

$command = "diff file1 file2 > file3";
exec($command, $output, $error_code);

if ($error_code != 0) {
    echo "Error: $error_code";
}

?>


它总是重复“错误:1”。错误1为“不允许操作”。看起来apache没有做某些事情的权限,对吗?我怎样才能解决这个问题呢?

我想这是因为您没有使用正确的命令。您像在终端中一样运行$command,因此需要添加一个指示您有权限的命令。我认为在CentOS是su。例如,在Ubuntu中,您可以执行sudo-command-

因此,尝试在差异之前添加su

编辑:

您应在此处查看su的正确用法:
Oh>\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu尝试
ps aux | grep?
exec("rm -f /var/local/out/upload/example_word/word/diff.diff");