【发布时间】:2018-11-25 06:40:04
【问题描述】:
我在.env 中将我的项目设置为prod 模式,除了自定义错误页面之外的所有内容似乎都可以正常工作。
我有这个作为我的 404 树枝模板:
{# templates/bundles/TwigBundle/Exception/error404.html.twig #}
{% include 'builder/layout/header.html.twig' with {'title': '404'} %}
<img src="{{ assets('img/not-found.jpeg') }}" class="img-responsive"
id="error-not-found-img" />
<div class="http-error-msg-container">
<h1>404! Page Not Found</h1>
<p>Don't despair, go back to <a href="{{ path('dashboard') }}">Home</a> and try again.</p>
</div>
{% include 'builder/layout/footer.html.twig' %}
转到一个不存在的页面(比如/dashboard/giorgoirdjfisejf)会返回一个空白页面。所以我将此添加到我的index.php 文件中:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);
显示错误,我得到了这个:
致命错误:第 107 行 /var/www/solomon/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 20480 字节)
致命错误:第 1 行 /var/www/solomon/vendor/symfony/debug/Exception/OutOfMemoryException.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 32768 字节)
我不太清楚为什么这会导致错误并且无法调试。 var/log/prod.log 没有显示任何内容,我该如何解决或更好,如何调试?
更新
我的 prod/monolog.yaml 文件
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_404s:
# regex: exclude all 404 errors from the logs
- ^/
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine"]
这是自动生成的,我没有做任何更改
【问题讨论】:
-
它试图记录一些大的东西,所以它崩溃了,这就是你的 prod.log 中没有任何内容的原因。在你的本地机器上用 memory_limit -1 试试,你可以看到它是什么
-
什么类型的处理程序?
-
在你的独白配置 yaml 中,你使用什么类型的日志处理程序?
-
尝试将
buffer_size: 200添加到处理程序配置中