Symfony Exception

ErrorException

HTTP 500 Internal Server Error

Notice: SessionHandler::gc(): ps_files_cleanup_dir: opendir(/var/lib/php/sessions) failed: Permission denied (13)

Exception

ErrorException

  1.     /**
  2.      * @return bool
  3.      */
  4.     public function gc($maxlifetime)
  5.     {
  6.         return $this->handler->gc($maxlifetime);
  7.     }
  8. }
  1.     /**
  2.      * @return bool
  3.      */
  4.     public function gc($maxlifetime)
  5.     {
  6.         return (bool) $this->handler->gc($maxlifetime);
  7.     }
  8.     /**
  9.      * @return bool
  10.      */
SessionHandlerProxy->gc()
  1.         if (filter_var(ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN) && headers_sent($file$line)) {
  2.             throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.'$file$line));
  3.         }
  4.         // ok to try and start the session
  5.         if (!session_start()) {
  6.             throw new \RuntimeException('Failed to start the session.');
  7.         }
  8.         if (null !== $this->emulateSameSite) {
  9.             $originalCookie SessionUtils::popSessionCookie(session_name(), session_id());
  1.     /**
  2.      * {@inheritdoc}
  3.      */
  4.     public function start()
  5.     {
  6.         return $this->storage->start();
  7.     }
  8.     /**
  9.      * {@inheritdoc}
  10.      */
  1.      * {@inheritdoc}
  2.      */
  3.     public function hasToken(string $tokenId)
  4.     {
  5.         if (!$this->session->isStarted()) {
  6.             $this->session->start();
  7.         }
  8.         return $this->session->has($this->namespace.'/'.$tokenId);
  9.     }
  1.      * {@inheritdoc}
  2.      */
  3.     public function getToken(string $tokenId)
  4.     {
  5.         $namespacedId $this->getNamespace().$tokenId;
  6.         if ($this->storage->hasToken($namespacedId)) {
  7.             $value $this->storage->getToken($namespacedId);
  8.         } else {
  9.             $value $this->generator->generateToken();
  10.             $this->storage->setToken($namespacedId$value);
  1.     public function finishView(FormView $viewFormInterface $form, array $options)
  2.     {
  3.         if ($options['csrf_protection'] && !$view->parent && $options['compound']) {
  4.             $factory $form->getConfig()->getFormFactory();
  5.             $tokenId $options['csrf_token_id'] ?: ($form->getName() ?: \get_class($form->getConfig()->getType()->getInnerType()));
  6.             $data = (string) $options['csrf_token_manager']->getToken($tokenId);
  7.             $csrfForm $factory->createNamed($options['csrf_field_name'], 'Symfony\Component\Form\Extension\Core\Type\HiddenType'$data, [
  8.                 'block_prefix' => 'csrf_token',
  9.                 'mapped' => false,
  10.             ]);
in vendor/symfony/form/ResolvedFormType.php -> finishView (line 168)
  1.         $this->innerType->finishView($view$form$options);
  2.         foreach ($this->typeExtensions as $extension) {
  3.             /* @var FormTypeExtensionInterface $extension */
  4.             $extension->finishView($view$form$options);
  5.         }
  6.     }
  7.     /**
  8.      * Returns the configured options resolver used for this type.
in vendor/symfony/form/ResolvedFormType.php -> finishView (line 161)
  1.      * This method is called after the children of the view have been built.
  2.      */
  3.     public function finishView(FormView $viewFormInterface $form, array $options)
  4.     {
  5.         if (null !== $this->parent) {
  6.             $this->parent->finishView($view$form$options);
  7.         }
  8.         $this->innerType->finishView($view$form$options);
  9.         foreach ($this->typeExtensions as $extension) {
in vendor/symfony/form/Form.php -> finishView (line 1047)
  1.         foreach ($this->children as $name => $child) {
  2.             $view->children[$name] = $child->createView($view);
  3.         }
  4.         $type->finishView($view$this$options);
  5.         return $view;
  6.     }
  7.     /**
Form->createView() in src/Controller/Free/Book/DefaultController.php (line 61)
  1.         }
  2.         $displayAds = !$paymentService->isPro($book);
  3.         $smilies    $smileyRepository->getAllForBook($book);
  4.         return ['book' => $book'messages' => $messages'form' => $form->createView(), 'formatter' => $BBCodeFormatter'displayAds' => $displayAds'smilies' => $smilies];
  5.     }
  6.     /**
  7.      * @Route("/index.php", name="book_redirect")
  8.      * @Method("GET")
in vendor/symfony/http-kernel/HttpKernel.php -> indexAction (line 157)
  1.         $this->dispatcher->dispatch($eventKernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this$request$type$response);
  9.             $this->dispatcher->dispatch($eventKernelEvents::VIEW);
  1.     public function handle(Request $requestint $type HttpKernelInterface::MASTER_REQUESTbool $catch true)
  2.     {
  3.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  4.         try {
  5.             return $this->handleRaw($request$type);
  6.         } catch (\Exception $e) {
  7.             if ($e instanceof RequestExceptionInterface) {
  8.                 $e = new BadRequestHttpException($e->getMessage(), $e);
  9.             }
  10.             if (false === $catch) {
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
Kernel->handle() in public/index.php (line 21)
  1.     Debug::enable();
  2. }
  3. $kernel = new Kernel($_SERVER['APP_ENV'], true);
  4. $request Request::createFromGlobals();
  5. $response $kernel->handle($request);
  6. $response->send();
  7. $kernel->terminate($request$response);

Logs

No log messages

Stack Trace

ErrorException

ErrorException:
Notice: SessionHandler::gc(): ps_files_cleanup_dir: opendir(/var/lib/php/sessions) failed: Permission denied (13)

  at vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php:101
  at Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler->gc()
     (vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php:83)
  at Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy->gc()
  at session_start()
     (vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:156)
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (vendor/symfony/http-foundation/Session/Session.php:59)
  at Symfony\Component\HttpFoundation\Session\Session->start()
     (vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php:77)
  at Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage->hasToken()
     (vendor/symfony/security-csrf/CsrfTokenManager.php:72)
  at Symfony\Component\Security\Csrf\CsrfTokenManager->getToken()
     (vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php:77)
  at Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension->finishView()
     (vendor/symfony/form/ResolvedFormType.php:168)
  at Symfony\Component\Form\ResolvedFormType->finishView()
     (vendor/symfony/form/ResolvedFormType.php:161)
  at Symfony\Component\Form\ResolvedFormType->finishView()
     (vendor/symfony/form/Form.php:1047)
  at Symfony\Component\Form\Form->createView()
     (src/Controller/Free/Book/DefaultController.php:61)
  at App\Controller\Free\Book\DefaultController->indexAction()
     (vendor/symfony/http-kernel/HttpKernel.php:157)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:79)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:195)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (public/index.php:21)