Intereting Posts
Почему это регулярное выражение вернет ошибку? Проверка пустых / радиополей – Php Возврат переменной из функции в php (возврат не работает) Выпадающее значение в codeigniter с использованием массива как значений Не удается получить доступ к Facebook signed_request с вкладкой iframe PHP – HTML очиститель – привет w <o> rld / world tutorial striptags В PHP, как я могу добавить элемент объекта в массив? Проблема в преобразовании строки в ненадежный код (в PHP, используя phlyLabs punycode string converter) Ошибка безопасности AWS SSL: 60: SSL-сертификат …: невозможно получить сертификат локального эмитента Передать справочную проблему с PHP 5.3.1 Можно ли написать парсер электронной почты в PHP? jEditable принимает только один идентификатор сериализация и отправка формы с помощью jQuery POST и php Ошибка SplFileObject не открыла поток: нет такого файла или каталога Как обновить несколько строк с другим ID в Laravel

Symfony 2.4 Рендеринг контроллера в TWIG бросает «Рендеринг фрагмента может быть выполнен только при обработке запроса». Исключение

После обновления с Symfony 2.3 до 2.4 возникает следующее исключение:

Во время рендеринга шаблона было выбрано исключение («Рендеринг фрагмента может быть выполнен только при обработке запроса») в PageBundle :: base.html.twig в строке 34.

Код пытается отобразить контроллер:

{% if not app.user %} <div id="login" class="fourcol last"> {{ render(controller("SecurityBundle:Front/Security:login")) }} </div> {% endif %} 

Исключение выбрано фрагментомHandler, потому что $ request имеет значение null:

 public function render($uri, $renderer = 'inline', array $options = array()) { if (!isset($options['ignore_errors'])) { $options['ignore_errors'] = !$this->debug; } if (!isset($this->renderers[$renderer])) { throw new \InvalidArgumentException(sprintf('The "%s" renderer does not exist.', $renderer)); } if (!$request = $this->getRequest()) { throw new \LogicException('Rendering a fragment can only be done when handling a Request.'); } var_dump($request); die(); return $this->deliver($this->renderers[$renderer]->render($uri, $request, $options)); } 

Это также происходит при других вызовах функции рендеринга.

Список версий компонентов Symfony от композитора:

 symfony/assetic-bundle v2.3.0 symfony/icu v1.2.0 symfony/monolog-bundle v2.3.0 symfony/swiftmailer-bundle v2.3.4 symfony/symfony v2.4.0 

Любая помощь будет принята с благодарностью

У меня такая же ошибка, но если я удалю папку «vendor» и заново ее создам с помощью «php composer.phar install», все работает отлично …

К счастью, у меня была тестовая версия сайта, развернутого в другом месте, поэтому я смог сравнить версии зависимостей. Эта ошибка была решена путем возврата к Symfony 2.3.7. Вот обновленные версии:

 symfony/assetic-bundle v2.3.0 symfony/icu v1.2.0 symfony/monolog-bundle v2.3.0 symfony/swiftmailer-bundle v2.3.4 symfony/symfony v2.3.7 

Метод рендеринга в FragmentHandler в 2.3.7 имеет другое условие от 2.4.0

  if (null === $this->request) { throw new \LogicException('Rendering a fragment can only be done when handling a master Request.'); } 

Это проверка на нуль

Не уверен, что у меня была такая же проблема, но она дала мне «Рендеринг фрагмента можно сделать только при обработке запроса». ошибка.

Я решил, что, восстановив bootstrap с помощью этой команды:

 php vendor/bundles/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php app 

См. Также: Обновление Symfony 2.4: «Рендеринг фрагмента может быть выполнен только при обработке запроса».