首页 > 解决方案 > Laravel 日志更改无需操作,helpers.php 问题

问题描述

开发过程中打开网站日志,发现大量同文错误:

local.ERROR: Cannot redeclare fun() (previously declared in C:\laragon\www\am\bootstrap\helpers.php:10) {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Cannot redeclare errorText() (previously declared in C:\\laragon\\www\\am\\bootstrap\\helpers.php:10) at C:\\laragon\\www\\am\\app\\helpers.php:10)

起初我以为这些错误与我在本地网站上的操作同时发生,但结果这些错误每 1 分钟出现在日志中。我不明白是什么激怒了他们。运行过程中浏览器没有出现这样的错误,即使网站几个小时没有动作,日志仍然每分钟都在填满。

我学到了关于帮助文件的一切。唯一的选择是检查该功能是否存在,但这不是最佳实践,特别是因为该站点可以正常工作并且在此过程中不会出现任何错误。

功能检查示例:

if (! function_exists('fun')) {
function fun($field) {
    return view('static.error', ['field' => $field]);
}

}

但是重写和包装几十个函数并不是一个好主意。此外,问题仍然存在,我仍然不清楚这些错误出现在哪里以及如何出现,是什么引起了它们?另外考虑到我有一个静态的 php 网站。

标签: phplaravellaravel-8

解决方案


我会尽量用最简单的语言来解释一切。长时间寻找答案让我想到了一件显而易见的事情。通过在 bootstrap laravel 目录中创建一个文件来解决整个问题。我相信这里重要答案的意见,但它们与今天的查询不再相关。

同样重要的是不要将 helpers.php 留在 app 目录中,即使它没有连接到任何地方。这就是导致不断的日志条目的原因。

所有这些都将避免任何类型的重复错误,并且将是合规的。


推荐阅读