neonail-database/debug-405-error.php
2025-08-10 18:09:07 +02:00

119 lines
3.7 KiB
PHP

<?php
// Debug-Script für HTTP 405 Method Not Allowed Fehler
// Führen Sie dies aus, um das Problem zu diagnostizieren
echo "🔍 Debug: HTTP 405 Method Not Allowed\n";
echo "====================================\n\n";
// 1. Prüfe Laravel-Umgebung
echo "1. Laravel-Umgebung:\n";
echo " - APP_ENV: " . (getenv('APP_ENV') ?: 'nicht gesetzt') . "\n";
echo " - APP_DEBUG: " . (getenv('APP_DEBUG') ?: 'nicht gesetzt') . "\n";
echo " - APP_URL: " . (getenv('APP_URL') ?: 'nicht gesetzt') . "\n\n";
// 2. Prüfe Datenbankverbindung
echo "2. Datenbankverbindung:\n";
try {
$pdo = new PDO('sqlite:database.sqlite');
echo " ✅ SQLite-Verbindung erfolgreich\n";
// Prüfe users-Tabelle
$stmt = $pdo->query("SELECT COUNT(*) FROM users");
$userCount = $stmt->fetchColumn();
echo " - User in Datenbank: $userCount\n";
} catch (Exception $e) {
echo " ❌ Datenbankfehler: " . $e->getMessage() . "\n";
}
// 3. Prüfe Laravel-Routes
echo "\n3. Laravel-Routes:\n";
try {
// Simuliere Laravel-Bootstrap
require_once 'vendor/autoload.php';
// Erstelle Laravel-App
$app = require_once 'bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
// Hole Router
$router = $app->make('router');
// Prüfe spezifische Route
$routes = $router->getRoutes();
$foundRoute = false;
foreach ($routes as $route) {
if ($route->getName() === 'user-nail-polishes.store') {
echo " ✅ Route 'user-nail-polishes.store' gefunden\n";
echo " - URI: " . $route->uri() . "\n";
echo " - Method: " . implode('|', $route->methods()) . "\n";
echo " - Controller: " . $route->getActionName() . "\n";
$foundRoute = true;
break;
}
}
if (!$foundRoute) {
echo " ❌ Route 'user-nail-polishes.store' nicht gefunden\n";
}
// Zeige alle POST-Routes
echo "\n 📋 Alle POST-Routes:\n";
foreach ($routes as $route) {
if (in_array('POST', $route->methods())) {
echo " - " . $route->uri() . " -> " . $route->getName() . "\n";
}
}
} catch (Exception $e) {
echo " ❌ Laravel-Fehler: " . $e->getMessage() . "\n";
}
// 4. Prüfe Dateisystem
echo "\n4. Dateisystem:\n";
$files = [
'routes/web.php' => 'Route-Definitionen',
'app/Http/Controllers/UserNailPolishController.php' => 'Controller',
'resources/views/user-nail-polishes/create.blade.php' => 'Create-View',
'bootstrap/app.php' => 'Laravel-Bootstrap',
'vendor/autoload.php' => 'Composer Autoload'
];
foreach ($files as $file => $description) {
if (file_exists($file)) {
echo "$description: $file\n";
} else {
echo "$description fehlt: $file\n";
}
}
// 5. Prüfe .htaccess
echo "\n5. .htaccess-Konfiguration:\n";
$htaccessFiles = [
'.htaccess' => 'Hauptverzeichnis',
'public/.htaccess' => 'Public-Verzeichnis'
];
foreach ($htaccessFiles as $file => $location) {
if (file_exists($file)) {
echo "$location .htaccess gefunden\n";
$content = file_get_contents($file);
if (strpos($content, 'RewriteEngine On') !== false) {
echo " - RewriteEngine aktiviert\n";
}
if (strpos($content, 'index.php') !== false) {
echo " - index.php Weiterleitung konfiguriert\n";
}
} else {
echo "$location .htaccess fehlt\n";
}
}
echo "\n🔧 Nächste Schritte:\n";
echo "1. Prüfen Sie die Laravel-Logs: storage/logs/laravel.log\n";
echo "2. Aktivieren Sie APP_DEBUG=true in .env\n";
echo "3. Leeren Sie den Cache: php artisan cache:clear\n";
echo "4. Prüfen Sie die Apache-Logs für weitere Details\n";
?>