if (\PHP_SESSION_ACTIVE === session_status()) {
throw new \RuntimeException('Failed to start the session: already started by PHP.');
}
if (ini_get('session.use_cookies') && headers_sent($file, $line)) {
throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
}
// ok to try and start the session
if (!session_start()) {
throw new \RuntimeException('Failed to start the session');
*/
protected function render($view, array $parameters = array(), Response $response = null)
{
$parameters += array('messages' => $this->getMessages());
// 未ログインアクセス可能でなくて、ログイン名がない場合はログイン画面に遷移
$session = $this->container->get('session');
$request = $this->container->get('request_stack')->getCurrentRequest();
if ($request->get('freedisplay') != true && ($session->get('loginid') == null || $session->get('loginid') == "")) {
$this->dispatcher->dispatch(KernelEvents::CONTROLLER_ARGUMENTS, $event);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = \call_user_func_array($controller, $arguments);
// view
if (!$response instanceof Response) {
$event = new GetResponseForControllerResultEvent($this, $request, $type, $response);
$this->dispatcher->dispatch(KernelEvents::VIEW, $event);
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$request->headers->set('X-Php-Ob-Level', ob_get_level());
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
//$kernel = new AppCache($kernel);
// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
//Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
No log messages
RuntimeException |
---|
RuntimeException:Failed to start the session because headers have already been sent by "/home/web-eco-lab/www/tsubomi_hoiku/tsubomi/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php" at line 2636.at vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php:141atSymfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php:295)atSymfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag('attributes') (vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Session.php:256)atSymfony\Component\HttpFoundation\Session\Session->getBag('attributes') (vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Session.php:278)atSymfony\Component\HttpFoundation\Session\Session->getAttributeBag() (vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Session.php:73)atSymfony\Component\HttpFoundation\Session\Session->get('message') (src/AppBundle/Controller/FTNBaseController.php:76)atAppBundle\Controller\FTNBaseController->getMessages() (src/AppBundle/Controller/FTNBaseController.php:34)atAppBundle\Controller\FTNBaseController->render('front/index.html.twig', array('newses' => array(object(News), object(News), object(News)))) (src/AppBundle/Controller/Front/FrontController.php:34)atAppBundle\Controller\Front\FrontController->indexAction(object(Request)) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151)atSymfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)atSymfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200)atSymfony\Component\HttpKernel\Kernel->handle(object(Request)) (web/app.php:18) |