115 lines
3.6 KiB
PHP
Executable File
115 lines
3.6 KiB
PHP
Executable File
<?php
|
|
// Laravel-Test für NeoNail DB
|
|
echo "<h1>Laravel-Test</h1>";
|
|
|
|
// 1. Composer autoload testen
|
|
echo "<h2>1. Composer Autoload:</h2>";
|
|
if (file_exists('vendor/autoload.php')) {
|
|
require_once 'vendor/autoload.php';
|
|
echo "✅ Autoload geladen<br>";
|
|
} else {
|
|
echo "❌ vendor/autoload.php nicht gefunden<br>";
|
|
echo "Führen Sie 'composer install' aus<br>";
|
|
exit;
|
|
}
|
|
|
|
// 2. Laravel Bootstrap testen
|
|
echo "<h2>2. Laravel Bootstrap:</h2>";
|
|
if (file_exists('bootstrap/app.php')) {
|
|
try {
|
|
$app = require_once 'bootstrap/app.php';
|
|
echo "✅ Laravel App geladen<br>";
|
|
} catch (Exception $e) {
|
|
echo "❌ Laravel Bootstrap Fehler: " . $e->getMessage() . "<br>";
|
|
}
|
|
} else {
|
|
echo "❌ bootstrap/app.php nicht gefunden<br>";
|
|
}
|
|
|
|
// 3. .env laden testen
|
|
echo "<h2>3. .env Konfiguration:</h2>";
|
|
if (file_exists('.env')) {
|
|
$env_content = file_get_contents('.env');
|
|
echo "✅ .env Datei gefunden<br>";
|
|
|
|
// 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)<br>";
|
|
} else {
|
|
echo "❌ $key nicht gefunden<br>";
|
|
}
|
|
}
|
|
} else {
|
|
echo "❌ .env Datei nicht gefunden<br>";
|
|
}
|
|
|
|
// 4. SQLite-Verbindung testen
|
|
echo "<h2>4. SQLite-Verbindung:</h2>";
|
|
if (file_exists('database.sqlite')) {
|
|
try {
|
|
$pdo = new PDO('sqlite:database.sqlite');
|
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
echo "✅ SQLite-Verbindung erfolgreich<br>";
|
|
|
|
// Tabellen prüfen
|
|
$tables = $pdo->query("SELECT name FROM sqlite_master WHERE type='table'")->fetchAll(PDO::FETCH_COLUMN);
|
|
echo "Gefundene Tabellen: " . implode(', ', $tables) . "<br>";
|
|
|
|
} catch (PDOException $e) {
|
|
echo "❌ SQLite-Fehler: " . $e->getMessage() . "<br>";
|
|
}
|
|
} else {
|
|
echo "❌ database.sqlite nicht gefunden<br>";
|
|
}
|
|
|
|
// 5. Storage-Verzeichnis testen
|
|
echo "<h2>5. Storage-Verzeichnis:</h2>";
|
|
if (is_dir('storage')) {
|
|
if (is_writable('storage')) {
|
|
echo "✅ storage/ ist schreibbar<br>";
|
|
} else {
|
|
echo "❌ storage/ ist nicht schreibbar<br>";
|
|
}
|
|
|
|
// Storage-Link prüfen
|
|
if (is_link('public/storage')) {
|
|
echo "✅ Storage-Link existiert<br>";
|
|
} else {
|
|
echo "⚠️ Storage-Link fehlt (php artisan storage:link)<br>";
|
|
}
|
|
} else {
|
|
echo "❌ storage/ Verzeichnis nicht gefunden<br>";
|
|
}
|
|
|
|
// 6. Cache-Verzeichnis testen
|
|
echo "<h2>6. Cache-Verzeichnis:</h2>";
|
|
if (is_dir('bootstrap/cache')) {
|
|
if (is_writable('bootstrap/cache')) {
|
|
echo "✅ bootstrap/cache/ ist schreibbar<br>";
|
|
} else {
|
|
echo "❌ bootstrap/cache/ ist nicht schreibbar<br>";
|
|
}
|
|
} else {
|
|
echo "❌ bootstrap/cache/ Verzeichnis nicht gefunden<br>";
|
|
}
|
|
|
|
echo "<hr>";
|
|
echo "<h2>Empfohlene Aktionen:</h2>";
|
|
echo "1. Falls Composer fehlt: composer install ausführen<br>";
|
|
echo "2. Falls .env falsch: env-sqlite-example.txt zu .env kopieren<br>";
|
|
echo "3. Falls Berechtigungen falsch: chmod 755 storage/ bootstrap/cache/<br>";
|
|
echo "4. Falls SQLite fehlt: touch database.sqlite && chmod 664 database.sqlite<br>";
|
|
echo "5. Falls Storage-Link fehlt: php artisan storage:link<br>";
|
|
echo "6. Migrationen ausführen: php artisan migrate --force<br>";
|
|
?>
|