* @return int|false
*/
#[\ReturnTypeWillChange]
public function gc($maxlifetime)
{
return $this->handler->gc($maxlifetime);
}
}
* @return int|false
*/
#[\ReturnTypeWillChange]
public function gc($maxlifetime)
{
return $this->handler->gc($maxlifetime);
}
/**
* @return bool
*/
// the session ID in the header is invalid, create a new one
session_id(session_create_id());
}
// ok to try and start the session
if (!session_start()) {
throw new \RuntimeException('Failed to start the session.');
}
if (null !== $this->emulateSameSite) {
$originalCookie = SessionUtils::popSessionCookie(session_name(), session_id());
}
if (!$this->started && $this->saveHandler->isActive()) {
$this->loadSession();
} elseif (!$this->started) {
$this->start();
}
return $this->bags[$name];
}
/**
* {@inheritdoc}
*/
public function getBag(string $name)
{
$bag = $this->storage->getBag($name);
return method_exists($bag, 'getBag') ? $bag->getBag() : $bag;
}
/**
*
* Note that this method was added to help with IDE autocompletion.
*/
private function getAttributeBag(): AttributeBagInterface
{
return $this->getBag($this->attributeName);
}
}
/**
* {@inheritdoc}
*/
public function has(string $name)
{
return $this->getAttributeBag()->has($name);
}
/**
* {@inheritdoc}
*/
return (string) $request->query->get('language');
}
// language was already set
if ($session->has('language') && \in_array((string) $session->get('language'), $this->installerLanguages, true)) {
return (string) $session->get('language');
}
// get initial language from browser header
if ($request->headers->has('HTTP_ACCEPT_LANGUAGE')) {
public function setInstallerLocale(RequestEvent $event): void
{
$request = $event->getRequest();
$locale = $this->detectLanguage($request);
$request->attributes->set('_locale', $locale);
$request->setLocale($locale);
}
private function detectLanguage(Request $request): string
$this->called = true;
$this->priority = $dispatcher->getListenerPriority($eventName, $this->listener);
$e = $this->stopwatch->start($this->name, 'event_listener');
($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
if ($e->isStarted()) {
$e->stop();
}
foreach ($listeners as $listener) {
if ($stoppable && $event->isPropagationStopped()) {
break;
}
$listener($event, $eventName, $this);
}
}
/**
* Sorts the internal list of listeners for the given event by priority.
} else {
$listeners = $this->getListeners($eventName);
}
if ($listeners) {
$this->callListeners($listeners, $eventName, $event);
}
return $event;
}
try {
$this->beforeDispatch($eventName, $event);
try {
$e = $this->stopwatch->start($eventName, 'section');
try {
$this->dispatcher->dispatch($event, $eventName);
} finally {
if ($e->isStarted()) {
$e->stop();
}
}
*/
private function handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response
{
// request
$event = new RequestEvent($this, $request, $type);
$this->dispatcher->dispatch($event, KernelEvents::REQUEST);
if ($event->hasResponse()) {
return $this->filterResponse($event->getResponse(), $request, $type);
}
{
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
$this->boot();
++$this->requestStackSize;
$this->resetServices = true;
try {
return $this->getHttpKernel()->handle($request, $type, $catch);
} finally {
--$this->requestStackSize;
}
}
}
} else {
$kernel = new InstallerKernel($appEnv, $debug);
}
$result = $kernel->handle($request);
if ($result instanceof Response) {
$result->send();
$kernel->terminate($request, $result);
} else {
ErrorException
|
---|
ErrorException: Notice: SessionHandler::gc(): ps_files_cleanup_dir: opendir(/tmp/.priv) failed: Permission denied (13) at vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php:116 at Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler->gc() (vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php:91) at Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy->gc() at session_start() (vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:185) at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:352) at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag() (vendor/symfony/http-foundation/Session/Session.php:261) at Symfony\Component\HttpFoundation\Session\Session->getBag() (vendor/symfony/http-foundation/Session/Session.php:283) at Symfony\Component\HttpFoundation\Session\Session->getAttributeBag() (vendor/symfony/http-foundation/Session/Session.php:69) at Symfony\Component\HttpFoundation\Session\Session->has() (vendor/shopware/core/Installer/Subscriber/InstallerLocaleListener.php:57) at Shopware\Core\Installer\Subscriber\InstallerLocaleListener->detectLanguage() (vendor/shopware/core/Installer/Subscriber/InstallerLocaleListener.php:40) at Shopware\Core\Installer\Subscriber\InstallerLocaleListener->setInstallerLocale() (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117) at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke() (vendor/symfony/event-dispatcher/EventDispatcher.php:230) at Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (vendor/symfony/event-dispatcher/EventDispatcher.php:59) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154) at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch() (vendor/symfony/http-kernel/HttpKernel.php:129) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor/symfony/http-kernel/HttpKernel.php:75) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor/symfony/http-kernel/Kernel.php:202) at Symfony\Component\HttpKernel\Kernel->handle() (public/index.php:85) |