0

我想检查后缀活动队列。我使用的 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 以避免此错误?

4

1 回答 1

1

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

$active = shell_exec('/usr/sbin/postqueue -p | grep '^[A-F0-9]*\*' | wc -l');
于 2013-04-09T04:43:13.250 回答