我想检查后缀活动队列。我使用的 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 以避免此错误?
我想检查后缀活动队列。我使用的 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 以避免此错误?
通常,postfix 邮件队列是 0700 模式,所以只有 postfix 可以直接读/写队列目录。看起来您正在尝试做的是获取活动队列中的项目计数。您可以使用mailq
(或postqueue -p
)命令来执行此操作,您应该能够作为 apache 运行该命令。它列出了所有队列的所有队列项目,但就像手册页所说,活动队列中*
的队列 ID 后面有一个。因此,您可以尝试将ls -l
命令替换为:
$active = shell_exec('/usr/sbin/postqueue -p | grep '^[A-F0-9]*\*' | wc -l');