php需要什么权限?

时间:2013-04-08 05:18:07

标签: php postfix-mta

我想查看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以避免此错误?

1 个答案:

答案 0 :(得分:1)

通常,后缀邮件队列是模式0700,因此只有postfix可以直接读/写队列目录。看起来您要做的是获取活动队列中的项目数。您可以使用mailq(或postqueue -p)命令执行此操作,您应该能够以apache身份运行该命令。它列出了所有队列的所有队列项,但是如手册页所示,活动队列中的队列项在队列ID后面有*。因此,您可以尝试使用以下命令替换ls -l命令:

$active = shell_exec('/usr/sbin/postqueue -p | grep '^[A-F0-9]*\*' | wc -l');