2

问候那里的编码员,

我尝试通过以下方式创建基于请求路由的控制器覆盖功能作为 kernel.request 侦听器:

public function onKernelRequest(GetResponseEvent $event){

    $requested_uri = $event->getRequest()->getRequestUri();

    if($requested_uri == '/' || $requested_uri == '/index.php' || $requested_uri == '/index_dev.php'){
        $event->getRequest()->attributes->set('_controller', 'TestHomeBundle:Home:index');
    }   
}

但是它在 apache 日志中显示以下错误:

PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 39 bytes) in /vendor/symfony/symfony/src/Symfony/Component/Routing/Generator/UrlGenerlGenerator.php on line 182

我通过以下方式注册了它。

 kernel.listener.homepage_rewrite_listener:
    class: Test\HomeBundle\EventListener\HomepageRewriteListener
    tags:
        - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 35 }

主要问题是我不能给这个更多的内存。欢迎任何想法。先感谢您。

4

0 回答 0