需要什么权限的PHP?

我想检查postfix活动队列。 我使用的PHP脚本

$active = shell_exec('/bin/ls -1 /var/spool/postfix/active | /usr/bin/wc -l'); 

但在日志中我看到

 /bin/ls: cannot open directory /var/spool/postfix/active: Permission denied 

我需要添加php或者postfix来避免这个错误?

在Debian上,PHP在www-data:www-data用户上默认运行。 所以/ var / spool / postfix / active不能被访问,因为它被postfix所拥有。

所以你必须先做根。

运行mailq | egrep ^\*|wc -l也许更容易 mailq | egrep ^\*|wc -l具有相同的结果,而没有问题,因为mailq是到由root运行的sendmail的链接。