Error 500 Internal Server Error

GET https://alphaindustries.dev.hob-by-horse.de/_profiler/f2e849?panel=validator&type=request

Exceptions

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

ErrorException

Show exception properties
0 of 0
ErrorException {#2420 â–¼ #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(#[\SensitiveParameter] string $sessionId): bool
  8. {
  9. return !$this->handler instanceof \SessionUpdateTimestampHandlerInterface || $this->handler->validateId($sessionId);
SessionHandlerProxy->gc(86400)
  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 $name, mixed $default = null): mixed
  4. {
  5. return $this->getAttributeBag()->get($name, $default);
  6. }
  7. public function set(string $name, mixed $value): void
  8. {
  9. $this->getAttributeBag()->set($name, $value);
  1. }
  2. $sgCookie = $this->handleDevelopmentCookie($request);
  3. $sgAgent = str_contains((string) $request->headers->get('User-Agent'), 'libshopgate');
  4. $hasSession = $request->hasSession();
  5. $sgSession = $hasSession && $request->getSession()->get(IsShopgateSubscriber::SG_SESSION_KEY, 0);
  6. return $sgAgent || $sgSession || $sgCookie;
  7. }
  8. /**
  1. ];
  2. }
  3. public function addTrackers(ControllerEvent $event): void
  4. {
  5. if (!$this->isShopgate($event->getRequest())) {
  6. return;
  7. }
  8. $event->getRequest()->getSession()->set(self::SG_SESSION_KEY, 1);
  9. $event->getRequest()->getSession()->set(OrderService::AFFILIATE_CODE_KEY, 'SGConnect_App');
  10. defined(self::IS_WEBCHECKOUT) || define(self::IS_WEBCHECKOUT, true);
  1. $this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);
  2. $e = $this->stopwatch->start($this->name, 'event_listener');
  3. try {
  4. ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
  5. } finally {
  6. if ($e->isStarted()) {
  7. $e->stop();
  8. }
  9. }
  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. if ($this->registry->isSubscriptionContext($event) && $this->registry->has($eventName)) {
  2. $eventName = SubscriptionEventRegistry::prefixedEventName($eventName);
  3. }
  4. return $this->decorated->dispatch($event, $eventName);
  5. }
  6. /**
  7. * @param callable $listener can not use native type declaration @see https://github.com/symfony/symfony/issues/42283
  8. */
  1. *
  2. * @return TEvent
  3. */
  4. public function dispatch(object $event, ?string $eventName = null): object
  5. {
  6. $event = $this->dispatcher->dispatch($event, $eventName);
  7. if (!$event instanceof FlowEventAware) {
  8. return $event;
  9. }
  1. ) {
  2. }
  3. public function dispatch(object $event, ?string $eventName = null): object
  4. {
  5. $event = $this->dispatcher->dispatch($event, $eventName);
  6. if (EnvironmentHelper::getVariable('DISABLE_EXTENSIONS', false)) {
  7. return $event;
  8. }
  1. }
  2. $this->dispatch($nested, $name);
  3. }
  4. }
  5. return $this->dispatcher->dispatch($event, $eventName);
  6. }
  7. /**
  8. * @param callable $listener can not use native type declaration @see https://github.com/symfony/symfony/issues/42283
  9. */
  1. try {
  2. $this->beforeDispatch($eventName, $event);
  3. try {
  4. $e = $this->stopwatch->start($eventName, 'section');
  5. try {
  6. $this->dispatcher->dispatch($event, $eventName);
  7. } finally {
  8. if ($e->isStarted()) {
  9. $e->stop();
  10. }
  11. }
  1. if (false === $controller = $this->resolver->getController($request)) {
  2. throw new NotFoundHttpException(sprintf('Unable to find the controller for path "%s". The route is wrongly configured.', $request->getPathInfo()));
  3. }
  4. $event = new ControllerEvent($this, $controller, $request, $type);
  5. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER);
  6. $controller = $event->getController();
  7. // controller arguments
  8. $arguments = $this->argumentResolver->getArguments($request, $controller, $event->getControllerReflector());
  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->dispatcher->dispatch($event);
  2. return $event->getResponse();
  3. }
  4. return parent::handle($request, $type, $catch);
  5. }
  6. }
  1. if (!IpUtils::checkIp('127.0.0.1', $trustedProxies)) {
  2. Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet());
  3. }
  4. try {
  5. return $kernel->handle($request, $type, $catch);
  6. } finally {
  7. // restore global state
  8. Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
  9. }
  10. }
  1. protected function forward(Request $request, bool $catch = false, ?Response $entry = null): Response
  2. {
  3. $this->surrogate?->addSurrogateCapability($request);
  4. // always a "master" request (as the real master request can be in cache)
  5. $response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MAIN_REQUEST, $catch);
  6. /*
  7. * Support stale-if-error given on Responses or as a config option.
  8. * RFC 7234 summarizes in Section 4.2.4 (but also mentions with the individual
  9. * Cache-Control directives) that
  1. // avoid that the backend sends no content
  2. $subRequest->headers->remove('If-Modified-Since');
  3. $subRequest->headers->remove('If-None-Match');
  4. $response = $this->forward($subRequest, $catch);
  5. if ($response->isCacheable()) {
  6. $this->store($request, $response);
  7. }
  1. }
  2. if (null === $entry) {
  3. $this->record($request, 'miss');
  4. return $this->fetch($request, $catch);
  5. }
  6. if (!$this->isFreshEnough($request, $entry)) {
  7. $this->record($request, 'stale');
  1. reload the cache by fetching a fresh response and caching it (if possible).
  2. */
  3. $this->record($request, 'reload');
  4. $response = $this->fetch($request, $catch);
  5. } else {
  6. $response = $this->lookup($request, $catch);
  7. }
  8. $this->restoreResponseBody($request, $response);
  9. if (HttpKernelInterface::MAIN_REQUEST === $type) {
  1. // only handle main request inside http cache, because ESI tags are also interpreted as main request.
  2. // sub requests are requests, which are forwarded to the kernel inside the php stack
  3. // https://github.com/symfony/symfony/issues/51648#issuecomment-1717846894
  4. if ($type === HttpKernelInterface::MAIN_REQUEST) {
  5. $response = parent::handle($request, $type, $catch);
  6. } elseif ($request->attributes->has('_sw_esi')) {
  7. $response = parent::handle($request, $type, $catch);
  8. } else {
  9. $response = $this->getKernel()->handle($request, $type, $catch);
  10. }
in vendor/shopware/core/Kernel.php -> handle (line 155)
  1. {
  2. if (!$this->booted) {
  3. $this->boot();
  4. }
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. }
  7. public function boot(): void
  8. {
  9. if ($this->booted === true) {
  1. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/var/www/share/alphaindustries.dev.hob-by-horse.de/shopware6/releases/20250523-131511/vendor/autoload_runtime.php') in public/index.php (line 10)
  1. use Shopware\Core\Installer\InstallerKernel;
  2. use Shopware\Core\Framework\Adapter\Kernel\KernelFactory;
  3. $_SERVER['SCRIPT_FILENAME'] = __FILE__;
  4. require_once __DIR__ . '/../vendor/autoload_runtime.php';
  5. if (!file_exists(__DIR__ . '/../.env') && !file_exists(__DIR__ . '/../.env.dist') && !file_exists(__DIR__ . '/../.env.local.php')) {
  6. $_SERVER['APP_RUNTIME_OPTIONS']['disable_dotenv'] = true;
  7. }