['onRequest', 36]]; } public function onRequest(RequestEvent $event): void { // Fehlende Sperrdateien nachtragen (var/, vendor/, Projektstamm) - einmal je Prozess. Protection::ensure($this->projectDir); if (!$event->isMainRequest() || is_file($this->projectDir.'/'.self::MARKER)) { return; } if ($this->installation->isInstalled()) { @file_put_contents($this->projectDir.'/'.self::MARKER, gmdate('c')."\n"); return; } $path = $event->getRequest()->getPathInfo(); if (str_starts_with($path, '/install') || preg_match('#^/(assets/|favicon)#', $path)) { return; } $event->setResponse(new RedirectResponse('/install')); } }