* @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 get(string $name, $default = null)
{
return $this->getAttributeBag()->get($name, $default);
}
/**
* {@inheritdoc}
*/
}
$routeData = ['name' => $routeName, 'params' => array_merge($routeParams, $routeQueries)];
// Do not save same matched route twice
$lastRoute = $session->get('last_route', []);
$thisRoute = $session->get('this_route', []);
if (!empty($lastRoute) && !empty($thisRoute) && $lastRoute === $thisRoute) {
return;
}
$this->priority = $dispatcher->getListenerPriority($eventName, $this->listener);
$e = $this->stopwatch->start($this->name, 'event_listener');
try {
($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
} finally {
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;
}
}
$kernel = new AppKernel('staging', true);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
switch (getenv('APPLICATION_ENV')) {
case 'dev':
include_once 'app_dev.php';
break;
case 'staging':
include_once 'app_staging.php';
break;
case 'preprod':
include_once 'app_preprod.php';
break;
default:
No log messages
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: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:77) at Symfony\Component\HttpFoundation\Session\Session->get() (src/Mooc/MoocBundle/EventListener/LastRouteListener.php:30) at Mooc\MoocBundle\EventListener\LastRouteListener->onKernelRequest() (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:118) 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:139) 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() (web/app_staging.php:15) at include_once('/srv/mooc-v2/staging/web/app_staging.php') (web/app.php:43) |