【问题标题】:Symfony: 404 error causing 500 error in productionSymfony:404 错误导致生产中的 500 错误
【发布时间】:2016-01-19 21:41:42
【问题描述】:

我有一个 symfony 应用程序,在生产服务器中运行时无法正确处理 404 错误,这是我在错误日志中得到的错误:

    Fatal error:  Uncaught exception 'Symfony\Component\Routing\Exception\ResourceNotFoundException' in /var/www/site/releases/20160119210649/app/cache/prod/appProdUrlMatcher.php:7768
Stack trace:
0 /var/www/site/releases/20160119210649/app/cache/prod/classes.php(1419): appProdUrlMatcher->match('/daf')
1 /var/www/site/releases/20160119210649/app/cache/prod/classes.php(8339): Symfony\Component\Routing\Matcher\UrlMatcher->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
2 /var/www/site/releases/20160119210649/app/cache/prod/classes.php(2483): JMS\I18nRoutingBundle\Router\I18nRouter->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
3 [internal function]: Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
4 /var/www/site/releases/20160119210649/app/cache/prod/classes.php(2264): call_user_func(Array, O in /var/www/site/releases/20160119210649/app/cache/prod/classes.php on line 5336

我在 /app/Resources/TwigBundle/views/Exception/error404.html.twig 中自定义了 404 错误 我已经清除了缓存,甚至重新启动了 php 和 nginx。

【问题讨论】:

标签: php symfony


【解决方案1】:

我遇到了完全相同的错误,经过长时间的研究找到了解决方案。我的页脚中有一个语言切换,这些路由是使用当前路由和_locale 参数生成的。

{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'de'})) }}

但是在 404 错误上没有路由。这以这个 500 错误结束。 现在我将此链接包装成这样的 if 语句,它可以工作:

<li>
    <a href="{% if app.request.get('_route') != "" and app.request.get('_route_params') is not null %}
            {{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}
        {% else %}
            {{ path("homepage", {'_locale': 'en'}) }}
        {% endif %}">
        English
    </a>
</li>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 2011-07-21
    • 2015-05-18
    • 2010-12-17
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多