Laravel-Test";
// 1. Composer autoload testen
echo "
1. Composer Autoload:
";
if (file_exists('vendor/autoload.php')) {
require_once 'vendor/autoload.php';
echo "✅ Autoload geladen
";
} else {
echo "❌ vendor/autoload.php nicht gefunden
";
echo "Führen Sie 'composer install' aus
";
exit;
}
// 2. Laravel Bootstrap testen
echo "2. Laravel Bootstrap:
";
if (file_exists('bootstrap/app.php')) {
try {
$app = require_once 'bootstrap/app.php';
echo "✅ Laravel App geladen
";
} catch (Exception $e) {
echo "❌ Laravel Bootstrap Fehler: " . $e->getMessage() . "
";
}
} else {
echo "❌ bootstrap/app.php nicht gefunden
";
}
// 3. .env laden testen
echo "3. .env Konfiguration:
";
if (file_exists('.env')) {
$env_content = file_get_contents('.env');
echo "✅ .env Datei gefunden
";
// Wichtige Einstellungen prüfen
$checks = [
'APP_ENV' => 'production',
'APP_DEBUG' => 'false',
'DB_CONNECTION' => 'sqlite',
'DB_DATABASE' => 'database.sqlite'
];
foreach ($checks as $key => $expected) {
if (preg_match("/^$key=(.*)$/m", $env_content, $matches)) {
$value = trim($matches[1]);
$status = ($value === $expected) ? "✅" : "⚠️";
echo "$status $key = $value (erwartet: $expected)
";
} else {
echo "❌ $key nicht gefunden
";
}
}
} else {
echo "❌ .env Datei nicht gefunden
";
}
// 4. SQLite-Verbindung testen
echo "4. SQLite-Verbindung:
";
if (file_exists('database.sqlite')) {
try {
$pdo = new PDO('sqlite:database.sqlite');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "✅ SQLite-Verbindung erfolgreich
";
// Tabellen prüfen
$tables = $pdo->query("SELECT name FROM sqlite_master WHERE type='table'")->fetchAll(PDO::FETCH_COLUMN);
echo "Gefundene Tabellen: " . implode(', ', $tables) . "
";
} catch (PDOException $e) {
echo "❌ SQLite-Fehler: " . $e->getMessage() . "
";
}
} else {
echo "❌ database.sqlite nicht gefunden
";
}
// 5. Storage-Verzeichnis testen
echo "5. Storage-Verzeichnis:
";
if (is_dir('storage')) {
if (is_writable('storage')) {
echo "✅ storage/ ist schreibbar
";
} else {
echo "❌ storage/ ist nicht schreibbar
";
}
// Storage-Link prüfen
if (is_link('public/storage')) {
echo "✅ Storage-Link existiert
";
} else {
echo "⚠️ Storage-Link fehlt (php artisan storage:link)
";
}
} else {
echo "❌ storage/ Verzeichnis nicht gefunden
";
}
// 6. Cache-Verzeichnis testen
echo "6. Cache-Verzeichnis:
";
if (is_dir('bootstrap/cache')) {
if (is_writable('bootstrap/cache')) {
echo "✅ bootstrap/cache/ ist schreibbar
";
} else {
echo "❌ bootstrap/cache/ ist nicht schreibbar
";
}
} else {
echo "❌ bootstrap/cache/ Verzeichnis nicht gefunden
";
}
echo "
";
echo "Empfohlene Aktionen:
";
echo "1. Falls Composer fehlt: composer install ausführen
";
echo "2. Falls .env falsch: env-sqlite-example.txt zu .env kopieren
";
echo "3. Falls Berechtigungen falsch: chmod 755 storage/ bootstrap/cache/
";
echo "4. Falls SQLite fehlt: touch database.sqlite && chmod 664 database.sqlite
";
echo "5. Falls Storage-Link fehlt: php artisan storage:link
";
echo "6. Migrationen ausführen: php artisan migrate --force
";
?>