/dev/null || echo " ⚠️ composer dump-autoload übersprungen"'); echo " ✅ Autoload neu generiert\n"; // 3. Laravel Cache komplett leeren echo "\n3. 🧹 Laravel Cache komplett leeren...\n"; system('php artisan cache:clear 2>/dev/null || echo " ⚠️ cache:clear übersprungen"'); system('php artisan config:clear 2>/dev/null || echo " ⚠️ config:clear übersprungen"'); system('php artisan view:clear 2>/dev/null || echo " ⚠️ view:clear übersprungen"'); system('php artisan route:clear 2>/dev/null || echo " ⚠️ route:clear übersprungen"'); system('php artisan optimize:clear 2>/dev/null || echo " ⚠️ optimize:clear übersprungen"'); echo " ✅ Laravel Cache geleert\n"; // 4. Routes-Datei prüfen und korrigieren echo "\n4. 🛣️ Routes-Datei prüfen...\n"; $routesPath = 'routes/web.php'; if (file_exists($routesPath)) { $content = file_get_contents($routesPath); // Zeige alle Logout-bezogenen Zeilen $lines = explode("\n", $content); $logoutLines = []; foreach ($lines as $lineNumber => $line) { if (strpos($line, 'logout') !== false) { $logoutLines[] = ($lineNumber + 1) . ": " . trim($line); } } if (!empty($logoutLines)) { echo " ✅ Logout-Routes gefunden:\n"; foreach ($logoutLines as $line) { echo " 📋 $line\n"; } } else { echo " ❌ Keine Logout-Routes gefunden\n"; } // Prüfe ob die Route korrekt ist if (strpos($content, "Route::post('/logout', [LoginController::class, 'logout'])->name('logout')->middleware('auth');") !== false) { echo " ✅ Logout-Route ist korrekt definiert\n"; } else { echo " ❌ Logout-Route ist nicht korrekt definiert\n"; } } else { echo " ❌ Routes-Datei nicht gefunden\n"; } // 5. LoginController prüfen echo "\n5. 🔐 LoginController prüfen...\n"; $controllerPath = 'app/Http/Controllers/Auth/LoginController.php'; if (file_exists($controllerPath)) { $content = file_get_contents($controllerPath); if (strpos($content, 'public function logout') !== false) { echo " ✅ Logout-Methode vorhanden\n"; // Zeige Logout-Methode $lines = explode("\n", $content); $inLogoutMethod = false; $methodLines = []; foreach ($lines as $lineNumber => $line) { if (strpos($line, 'public function logout') !== false) { $inLogoutMethod = true; $methodLines[] = ($lineNumber + 1) . ": " . trim($line); } elseif ($inLogoutMethod && strpos($line, 'public function') !== false) { $inLogoutMethod = false; } elseif ($inLogoutMethod) { $methodLines[] = ($lineNumber + 1) . ": " . trim($line); } } echo " 📋 Logout-Methode:\n"; foreach ($methodLines as $line) { echo " $line\n"; } } else { echo " ❌ Logout-Methode nicht gefunden\n"; } } else { echo " ❌ LoginController nicht gefunden\n"; } // 6. Route-Liste neu generieren echo "\n6. 🛣️ Route-Liste neu generieren...\n"; try { require_once 'vendor/autoload.php'; // Laravel Bootstrap $app = require_once 'bootstrap/app.php'; $app->make('Illuminate\Contracts\Console\Kernel')->bootstrap(); // Route-Liste abrufen $routes = \Illuminate\Support\Facades\Route::getRoutes(); $logoutRoutes = []; foreach ($routes as $route) { $uri = $route->uri(); $methods = $route->methods(); $name = $route->getName(); if (strpos($uri, 'logout') !== false || strpos($name, 'logout') !== false) { $logoutRoutes[] = [ 'uri' => $uri, 'methods' => $methods, 'name' => $name ]; } } if (empty($logoutRoutes)) { echo " ❌ Keine Logout-Routes in Laravel registriert\n"; } else { echo " ✅ Logout-Routes in Laravel gefunden:\n"; foreach ($logoutRoutes as $route) { $methods = implode('|', $route['methods']); $name = $route['name'] ?: 'kein Name'; echo " 📋 $methods $uri ($name)\n"; } } } catch (Exception $e) { echo " ❌ Fehler beim Abrufen der Routes: " . $e->getMessage() . "\n"; } // 7. Test-Logout-Form erstellen echo "\n7. 🧪 Test-Logout-Form erstellen...\n"; $testForm = '
Route: {{ route("logout") }}
'; file_put_contents('public/logout-test.blade.php', $testForm); echo " ✅ Test-Form erstellt: public/logout-test.blade.php\n"; // 8. Apache neu laden (falls möglich) echo "\n8. 🔄 Apache neu laden...\n"; system('systemctl reload apache2 2>/dev/null || echo " ⚠️ Apache reload übersprungen"'); echo " ✅ Apache neu geladen\n"; echo "\n✅ Logout-Route Fix abgeschlossen!\n"; echo "🔗 Testen Sie jetzt:\n"; echo "1. Klicken Sie auf Ihren Benutzernamen (oben rechts)\n"; echo "2. Wählen Sie 'Abmelden' aus dem Dropdown\n"; echo "3. Falls das nicht funktioniert:\n"; echo " - Öffnen Sie Browser-Entwicklertools (F12)\n"; echo " - Gehen Sie zu Network-Tab\n"; echo " - Klicken Sie auf Abmelden\n"; echo " - Schauen Sie welche URL aufgerufen wird\n"; echo "\n📋 Falls Problem besteht:\n"; echo "- Teilen Sie die Network-Tab Ausgabe mit\n"; echo "- Schauen Sie in die Laravel-Logs: tail -f storage/logs/laravel.log\n"; echo "- Testen Sie direkt: https://neonail.vogt.de.com/logout\n"; ?>