【发布时间】:2010-11-06 20:55:25
【问题描述】:
我正在尝试增加我正在从事的 php 项目的管理功能。截至目前,该项目会将其所有错误记录到系统日志中。我试图让管理页面能够读取这些错误的系统日志。在终端中我可以输入:
cat /var/log/syslog | grep projectName
但是,如果我尝试使用以下命令运行此命令:
$output=shell_exec('cat /var/log/syslog | grep projectName');
或与:
$output=`cat /var/log/syslog | grep projectName`;
$output 总是显示为空。有没有办法我可以做到这一点?这甚至是最好的方法吗(IE php 是否有读取 syslog 的本机方法)?
编辑: 似乎问题是权限问题。我可以授予 www-data 访问系统日志的权限,但出于某种原因,这对我来说似乎不是一个好主意。没有原生的方式来读取日志吗?
【问题讨论】:
-
不要认为这是显而易见的,而是使用 root 拥有的 syslog,它还包含来自系统其余部分的其他日志数据,为什么不让项目拥有自己的日志文件靠它,没有额外的噪音?
-
^ 这正是我最终所做的。