Forwarded to ErrorController (f76f61)

Exceptions

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

Exception

ErrorException

Show exception properties
ErrorException {#2036
  #severity: E_NOTICE
}
  1.         return $this->handler->close();
  2.     }
  3.     public function gc(int $maxlifetime): int|false
  4.     {
  5.         return $this->handler->gc($maxlifetime);
  6.     }
  7. }
  1.         return $this->handler->destroy($sessionId);
  2.     }
  3.     public function gc(int $maxlifetime): int|false
  4.     {
  5.         return $this->handler->gc($maxlifetime);
  6.     }
  7.     public function validateId(#[\SensitiveParameterstring $sessionId): bool
  8.     {
  9.         return !$this->handler instanceof \SessionUpdateTimestampHandlerInterface || $this->handler->validateId($sessionId);
SessionHandlerProxy->gc()
  1.             // the session ID in the header is invalid, create a new one
  2.             session_id(session_create_id());
  3.         }
  4.         // ok to try and start the session
  5.         if (!session_start()) {
  6.             throw new \RuntimeException('Failed to start the session.');
  7.         }
  8.         $this->loadSession();
  1.         }
  2.         if (!$this->started && $this->saveHandler->isActive()) {
  3.             $this->loadSession();
  4.         } elseif (!$this->started) {
  5.             $this->start();
  6.         }
  7.         return $this->bags[$name];
  8.     }
  1.         $this->storage->registerBag(new SessionBagProxy($bag$this->data$this->usageIndex$this->usageReporter));
  2.     }
  3.     public function getBag(string $name): SessionBagInterface
  4.     {
  5.         $bag $this->storage->getBag($name);
  6.         return method_exists($bag'getBag') ? $bag->getBag() : $bag;
  7.     }
  8.     /**
  1.      *
  2.      * Note that this method was added to help with IDE autocompletion.
  3.      */
  4.     private function getAttributeBag(): AttributeBagInterface
  5.     {
  6.         return $this->getBag($this->attributeName);
  7.     }
  8. }
  1.         return $this->getAttributeBag()->has($name);
  2.     }
  3.     public function get(string $namemixed $default null): mixed
  4.     {
  5.         return $this->getAttributeBag()->get($name$default);
  6.     }
  7.     /**
  8.      * @return void
  9.      */
  1.         if (null === $request) {
  2.             return null;
  3.         }
  4.         $session $request->hasPreviousSession() ? $request->getSession() : null;
  5.         if (null !== $session) {
  6.             $token $session->get($this->sessionKey);
  7.             if (null !== $token) {
  8.                 $token $this->safelyUnserialize($token);
  9.                 if ($token instanceof TokenInterface && $token->getUser() instanceof SessionEmployeeInterface) {
  10.                     return $token->getUser();
  11.                 }
SessionEmployeeProvider->getEmployeeFromSession() in src/PrestaShopBundle/EventListener/Admin/UserLocaleSubscriber.php (line 70)
  1.     public function onKernelRequest(RequestEvent $event): void
  2.     {
  3.         if ($this->security->getUser() instanceof SessionEmployeeInterface) {
  4.             $employee $this->security->getUser();
  5.         } else {
  6.             $employee $this->sessionEmployeeProvider->getEmployeeFromSession($event->getRequest());
  7.         }
  8.         if ($employee instanceof SessionEmployeeInterface) {
  9.             $locale $employee->getDefaultLocale();
  10.         } else {
  1.                     $closure = static function (...$args) use (&$listener, &$closure) {
  2.                         if ($listener[0] instanceof \Closure) {
  3.                             $listener[0] = $listener[0]();
  4.                             $listener[1] ??= '__invoke';
  5.                         }
  6.                         ($closure $listener(...))(...$args);
  7.                     };
  8.                 } else {
  9.                     $closure $listener instanceof WrappedListener $listener $listener(...);
  10.                 }
  11.             }
in vendor/symfony/event-dispatcher/EventDispatcher.php :: Symfony\Component\EventDispatcher\{closure} (line 220)
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.      */
  2.     private function handleRaw(Request $requestint $type self::MAIN_REQUEST): Response
  3.     {
  4.         // request
  5.         $event = new RequestEvent($this$request$type);
  6.         $this->dispatcher->dispatch($eventKernelEvents::REQUEST);
  7.         if ($event->hasResponse()) {
  8.             return $this->filterResponse($event->getResponse(), $request$type);
  9.         }
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  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 adminxx/index.php (line 83)
  1. // When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
  2. Request::enableHttpMethodParameterOverride();
  3. $request Request::createFromGlobals();
  4. Request::setTrustedProxies([], Request::HEADER_X_FORWARDED_FOR Request::HEADER_X_FORWARDED_HOST Request::HEADER_X_FORWARDED_PORT Request::HEADER_X_FORWARDED_PROTO);
  5. $response $kernel->handle($requestHttpKernelInterface::MAIN_REQUESTtrue);
  6. $response->send();
  7. $kernel->terminate($request$response);

Logs

Level Channel Message
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.4: "Symfony\Bridge\Doctrine\Logger\DbalLogger" is deprecated, use a middleware instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: DebugStack is deprecated. (DebugStack.php:41 called by AdminKernelDevDebugContainer.php:3391, https://github.com/doctrine/dbal/pull/4967, package doctrine/dbal)
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Not configuring a schema manager factory is deprecated. Use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory which is going to be the default in DBAL 4. (Connection.php:227 called by DriverManager.php:197, https://github.com/doctrine/dbal/issues/5812, package doctrine/dbal)
{
    "exception": {}
}
INFO 20:41:07 doctrine Connecting with parameters {params}
{
    "params": {
        "driver": "pdo_mysql",
        "host": "127.0.0.1",
        "port": "",
        "dbname": "presta3",
        "user": "admin",
        "password": "<redacted>",
        "charset": "utf8mb4",
        "driverOptions": {
            "1002": "SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))",
            "1013": false
        },
        "wrapperClass": "PrestaShopBundle\\Doctrine\\DatabaseConnection",
        "defaultTableOptions": []
    }
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.3: The "Symfony\Bridge\Doctrine\SchemaListener\MessengerTransportDoctrineSchemaSubscriber" class is deprecated. Use "Symfony\Bridge\Doctrine\SchemaListener\MessengerTransportDoctrineSchemaListener" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\SchemaListener\MessengerTransportDoctrineSchemaSubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.3: The "Symfony\Bridge\Doctrine\SchemaListener\DoctrineDbalCacheAdapterSchemaSubscriber" class is deprecated. Use "Symfony\Bridge\Doctrine\SchemaListener\DoctrineDbalCacheAdapterSchemaListener" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\SchemaListener\DoctrineDbalCacheAdapterSchemaSubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.3: The "Symfony\Bridge\Doctrine\SchemaListener\RememberMeTokenProviderDoctrineSchemaSubscriber" class is deprecated. Use "Symfony\Bridge\Doctrine\SchemaListener\RememberMeTokenProviderDoctrineSchemaListener" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\SchemaListener\RememberMeTokenProviderDoctrineSchemaSubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.
{
    "exception": {}
}
INFO 20:41:07 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "86d001"
    },
    "request_uri": "https://presta3-c13255-1.btsndrc.ac/adminxx/_profiler/86d001?panel=exception&type=request",
    "method": "GET"
}
INFO 20:41:07 php User Deprecated: Since symfony/framework-bundle 6.4: The "annotations.cached_reader" service is deprecated without replacement.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/framework-bundle 6.4: The "annotations.reader" service is deprecated without replacement.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/framework-bundle 6.4: The "annotations.cache_adapter" service is deprecated without replacement.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/validator 6.4: Method "Symfony\Component\Validator\ValidatorBuilder::setDoctrineAnnotationReader()" is deprecated without replacement.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/serializer 6.4: Passing a "Doctrine\Common\Annotations\PsrCachedReader" instance as argument 1 to "Symfony\Component\Serializer\Mapping\Loader\AttributeLoader::__construct()" is deprecated, pass null or omit the parameter instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/symfony 4.1: The "api_platform.validator.query_parameter_validator" service is deprecated use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\ParameterValidator" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\ArrayItems" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\Bounds" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\Enum" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\Length" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\MultipleOf" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\Pattern" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: The class "ApiPlatform\ParameterValidator\Validator\Required" is deprecated, use "\ApiPlatform\Metadata\Parameter::$constraints" instead.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: The annotation mapping driver is deprecated and will be removed in Doctrine ORM 3.0, please migrate to the attribute or XML driver. (AnnotationDriver.php:68 called by AdminKernelDevDebugContainer.php:5321, https://github.com/doctrine/orm/issues/10098, package doctrine/orm)
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: In ORM 3.0, the AttributeDriver will report fields for the classes where they are declared. This may uncover invalid mapping configurations. To opt into the new mode also with the AnnotationDriver today, set the "reportFieldsWhereDeclared" constructor parameter to true. (AnnotationDriver.php:79 called by AdminKernelDevDebugContainer.php:5321, https://github.com/doctrine/orm/pull/10455, package doctrine/orm)
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Doctrine\ORM\EntityManager::create() is deprecated. To bootstrap a DBAL connection, call Doctrine\DBAL\DriverManager::getConnection() instead. Use the constructor to create an instance of Doctrine\ORM\EntityManager. (EntityManager.php:1001 called by AdminKernelDevDebugContainer.php:3418, https://github.com/doctrine/orm/pull/9961, package doctrine/orm)
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Doctrine\DBAL\Connection::getEventManager is deprecated. (Connection.php:302 called by EntityManager.php:166, https://github.com/doctrine/dbal/issues/5784, package doctrine/dbal)
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Not enabling lazy ghost objects is deprecated and will not be supported in Doctrine ORM 3.0. Ensure Doctrine\ORM\Configuration::setLazyGhostObjectEnabled(true) is called to enable them. (ProxyFactory.php:169 called by EntityManager.php:181, https://github.com/doctrine/orm/pull/10837/, package doctrine/orm)
{
    "exception": {}
}
DEBUG 20:41:07 doctrine Executing statement: SELECT t0.id_lang AS id_lang_1, t0.name AS name_2, t0.active AS active_3, t0.iso_code AS iso_code_4, t0.language_code AS language_code_5, t0.locale AS locale_6, t0.date_format_lite AS date_format_lite_7, t0.date_format_full AS date_format_full_8, t0.is_rtl AS is_rtl_9 FROM ps_lang t0 WHERE t0.id_lang = ? (parameters: {params}, types: {types})
{
    "sql": "SELECT t0.id_lang AS id_lang_1, t0.name AS name_2, t0.active AS active_3, t0.iso_code AS iso_code_4, t0.language_code AS language_code_5, t0.locale AS locale_6, t0.date_format_lite AS date_format_lite_7, t0.date_format_full AS date_format_full_8, t0.is_rtl AS is_rtl_9 FROM ps_lang t0 WHERE t0.id_lang = ?",
    "params": {
        "1": "1"
    },
    "types": {
        "1": 1
    }
}
DEBUG 20:41:07 doctrine Executing query: SELECT s.id_shop FROM ps_shop s
{
    "sql": "SELECT s.id_shop FROM ps_shop s"
}
INFO 20:41:07 php User Deprecated: Since api-platform/core 3.4: Injecting the "ApiPlatform\JsonSchema\TypeFactoryInterface" inside "ApiPlatform\JsonSchema\SchemaFactory" is deprecated and "ApiPlatform\JsonSchema\TypeFactoryInterface" will be removed in 4.x.
{
    "exception": {}
}
DEBUG 20:41:07 doctrine Executing statement: SELECT p0_.id_tab AS id_tab_0, p0_.class_name AS class_name_1 FROM ps_tab p0_ WHERE p0_.class_name = BINARY(?) AND p0_.id_tab <> 0 (parameters: {params}, types: {types})
{
    "sql": "SELECT p0_.id_tab AS id_tab_0, p0_.class_name AS class_name_1 FROM ps_tab p0_ WHERE p0_.class_name = BINARY(?) AND p0_.id_tab <> 0",
    "params": {
        "1": "Admin"
    },
    "types": {
        "1": 2
    }
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.4: Not passing an instance of "Symfony\Bridge\Doctrine\Middleware\Debug\DebugDataHolder" as "$debugDataHolder" to "Symfony\Bridge\Doctrine\DataCollector\DoctrineDataCollector::__construct()" is deprecated.
{
    "exception": {}
}
INFO 20:41:07 php User Deprecated: Since symfony/doctrine-bridge 6.4: "Symfony\Bridge\Doctrine\DataCollector\DoctrineDataCollector::addLogger()" is deprecated. Pass an instance of "Symfony\Bridge\Doctrine\Middleware\Debug\DebugDataHolder" to the constructor instead.
{
    "exception": {}
}

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:87
  at Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler->gc()
     (vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php:64)
  at Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy->gc()
  at session_start()
     (vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:172)
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:311)
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag()
     (vendor/symfony/http-foundation/Session/Session.php:222)
  at Symfony\Component\HttpFoundation\Session\Session->getBag()
     (vendor/symfony/http-foundation/Session/Session.php:242)
  at Symfony\Component\HttpFoundation\Session\Session->getAttributeBag()
     (vendor/symfony/http-foundation/Session/Session.php:69)
  at Symfony\Component\HttpFoundation\Session\Session->get()
     (src/PrestaShopBundle/Security/Admin/SessionEmployeeProvider.php:68)
  at PrestaShopBundle\Security\Admin\SessionEmployeeProvider->getEmployeeFromSession()
     (src/PrestaShopBundle/EventListener/Admin/UserLocaleSubscriber.php:70)
  at PrestaShopBundle\EventListener\Admin\UserLocaleSubscriber->onKernelRequest()
     (vendor/symfony/event-dispatcher/EventDispatcher.php:260)
  at Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}()
     (vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
     (vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
     (vendor/symfony/http-kernel/HttpKernel.php:157)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:197)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (adminxx/index.php:83)