219 lines
7.1 KiB
PHP
219 lines
7.1 KiB
PHP
<?php
|
||
// Debug: Logout-Problem systematisch debuggen
|
||
echo "🚪 Debug: Logout-Problem systematisch debuggen\n";
|
||
echo "=============================================\n\n";
|
||
|
||
// 1. Aktuelles Layout prüfen
|
||
echo "1. 🎨 Aktuelles Layout prüfen...\n";
|
||
$layoutPath = 'resources/views/layouts/app.blade.php';
|
||
if (file_exists($layoutPath)) {
|
||
$content = file_get_contents($layoutPath);
|
||
|
||
// Suche nach Logout-Form
|
||
if (strpos($content, 'logout-form') !== false) {
|
||
echo " ✅ Logout-Form gefunden\n";
|
||
|
||
// Zeige Logout-Form Details
|
||
$lines = explode("\n", $content);
|
||
foreach ($lines as $lineNumber => $line) {
|
||
if (strpos($line, 'logout') !== false) {
|
||
echo " 📋 Zeile " . ($lineNumber + 1) . ": " . trim($line) . "\n";
|
||
}
|
||
}
|
||
} else {
|
||
echo " ❌ Logout-Form nicht gefunden\n";
|
||
}
|
||
|
||
// Prüfe Route-Verwendung
|
||
if (strpos($content, '{{ route("logout") }}') !== false) {
|
||
echo " ✅ Laravel Route wird verwendet\n";
|
||
} elseif (strpos($content, 'https://neonail.vogt.de.com/logout') !== false) {
|
||
echo " ❌ Hardcodierte URL wird verwendet\n";
|
||
} else {
|
||
echo " ❓ Unbekannte Logout-Konfiguration\n";
|
||
}
|
||
|
||
} else {
|
||
echo " ❌ Layout-Datei nicht gefunden\n";
|
||
}
|
||
|
||
// 2. Routes prüfen
|
||
echo "\n2. 🛣️ Routes 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";
|
||
}
|
||
|
||
} else {
|
||
echo " ❌ Routes-Datei nicht gefunden\n";
|
||
}
|
||
|
||
// 3. LoginController prüfen
|
||
echo "\n3. 🔐 LoginController prüfen...\n";
|
||
$controllerPath = 'app/Http/Controllers/Auth/LoginController.php';
|
||
if (file_exists($controllerPath)) {
|
||
$content = file_get_contents($controllerPath);
|
||
|
||
if (strpos($content, 'logout') !== false) {
|
||
echo " ✅ Logout-Methode gefunden\n";
|
||
|
||
// Zeige Logout-Methode
|
||
$lines = explode("\n", $content);
|
||
foreach ($lines as $lineNumber => $line) {
|
||
if (strpos($line, 'logout') !== false) {
|
||
echo " 📋 Zeile " . ($lineNumber + 1) . ": " . trim($line) . "\n";
|
||
}
|
||
}
|
||
} else {
|
||
echo " ❌ Logout-Methode nicht gefunden\n";
|
||
}
|
||
|
||
} else {
|
||
echo " ❌ LoginController nicht gefunden\n";
|
||
}
|
||
|
||
// 4. Laravel Route-Liste generieren
|
||
echo "\n4. 🛣️ Laravel Route-Liste 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";
|
||
}
|
||
|
||
// 5. Cache-Status prüfen
|
||
echo "\n5. 🧹 Cache-Status prüfen...\n";
|
||
$cacheFiles = [
|
||
'bootstrap/cache/packages.php' => 'Packages Cache',
|
||
'bootstrap/cache/services.php' => 'Services Cache',
|
||
'bootstrap/cache/routes.php' => 'Routes Cache',
|
||
'bootstrap/cache/config.php' => 'Config Cache'
|
||
];
|
||
|
||
foreach ($cacheFiles as $cacheFile => $description) {
|
||
if (file_exists($cacheFile)) {
|
||
echo " ⚠️ Cache vorhanden: $description\n";
|
||
} else {
|
||
echo " ✅ Cache geleert: $description\n";
|
||
}
|
||
}
|
||
|
||
// 6. Test-Logout-URLs generieren
|
||
echo "\n6. 🔗 Test-Logout-URLs:\n";
|
||
$testUrls = [
|
||
'https://neonail.vogt.de.com/logout',
|
||
'https://neonail.vogt.de.com/logout (POST)',
|
||
'https://neonail.vogt.de.com/logout (GET)',
|
||
'https://neonail.vogt.de.com/',
|
||
'https://neonail.vogt.de.com/login'
|
||
];
|
||
|
||
foreach ($testUrls as $url) {
|
||
echo " 🔗 $url\n";
|
||
}
|
||
|
||
// 7. Layout korrigieren (falls nötig)
|
||
echo "\n7. 🔧 Layout korrigieren...\n";
|
||
$layoutPath = 'resources/views/layouts/app.blade.php';
|
||
if (file_exists($layoutPath)) {
|
||
$content = file_get_contents($layoutPath);
|
||
|
||
// Ersetze alle hardcodierten Logout-URLs
|
||
$replacements = [
|
||
'action="https://neonail.vogt.de.com/logout"' => 'action="{{ route("logout") }}"',
|
||
'href="https://neonail.vogt.de.com/logout"' => 'href="{{ route("logout") }}"',
|
||
'action="http://neonail.vogt.de.com/logout"' => 'action="{{ route("logout") }}"',
|
||
'href="http://neonail.vogt.de.com/logout"' => 'href="{{ route("logout") }}"'
|
||
];
|
||
|
||
$modified = false;
|
||
foreach ($replacements as $old => $new) {
|
||
if (strpos($content, $old) !== false) {
|
||
$content = str_replace($old, $new, $content);
|
||
$modified = true;
|
||
echo " ✅ Ersetzt: $old → $new\n";
|
||
}
|
||
}
|
||
|
||
if ($modified) {
|
||
file_put_contents($layoutPath, $content);
|
||
echo " ✅ Layout aktualisiert\n";
|
||
} else {
|
||
echo " ℹ️ Keine Änderungen nötig\n";
|
||
}
|
||
|
||
} else {
|
||
echo " ❌ Layout-Datei nicht gefunden\n";
|
||
}
|
||
|
||
// 8. Cache leeren
|
||
echo "\n8. 🧹 Cache 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"');
|
||
echo " ✅ Cache geleert\n";
|
||
|
||
echo "\n✅ Logout-Debug 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, versuchen Sie direkt:\n";
|
||
echo " - https://neonail.vogt.de.com/logout\n";
|
||
echo "\n📋 Falls Problem besteht:\n";
|
||
echo "- Prüfen Sie Browser-Entwicklertools (F12) für Fehler\n";
|
||
echo "- Schauen Sie in die Laravel-Logs: tail -f storage/logs/laravel.log\n";
|
||
echo "- Teilen Sie die Debug-Ausgabe mit\n";
|
||
?>
|