有没有一种方法可以在网页浏览器中查看PHP错误日志或Apache错误日志?
我发现通过ssh登录到多个服务器并运行"tail"命令来跟踪错误日志非常不方便。是否有一些工具(最好是开源的)可以在线显示我的错误日志(流式或非流式)?
谢谢。
一个简单的 PHP 代码来读取日志并打印:
<?php
exec('tail /var/log/apache2/error.log', $error_logs);
foreach($error_logs as $error_log) {
echo "<br />".$error_log;
}
?>
根据您的需求,您可以将error_log PHP变量嵌入到HTML中。最好的部分是tail
命令将加载最新的错误,这不会给您的服务器带来太大的负荷。
您可以更改tail
以按您想要的方式输出
例如:tail myfile.txt -n 100
// 它将返回最后100行
$apache_errorlog = file_get_contents('/var/log/apache2/error.log');
如果它不能正常工作...尝试使用php函数exec
或shell_exec
和命令'cat /var/log/apache2/error.log'
编辑:如果您有多个服务器(我猜其中包含Web服务器),则可以在该机器上创建一个文件,当您向该脚本(哈希连接)发出请求时,您将从该服务器获取日志。
56 if($maxLength > $this->maxSizeToLoad) {
57 $maxLength = $this->maxSizeToLoad;
58 // return json_encode(array("size" => $fsize, "data" => array("ERROR: PHPTail attempted to load more (".round(($maxLength / 1048576), 2)."MB) then the maximum size (".round(($this->maxSizeToLoad / 1048576), 2) ."MB) of bytes into memory. You should lower the defaultUpdateTime to prevent this from happening. ")));
59 }
我已经添加了默认大小,但这并不需要
125 lastSize = <?php echo filesize($this->log) || 1000; ?>;