137 lines
2.8 KiB
Markdown
137 lines
2.8 KiB
Markdown
# 🖥️ Schwarzer Bildschirm in Production - Lösung
|
|
|
|
## 🚨 **Problem:**
|
|
- Seite zeigt nur schwarzen Bildschirm
|
|
- Keine Fehlermeldung sichtbar
|
|
- Logs zeigen unvollständige Fehler
|
|
|
|
## 🔍 **Ursache:**
|
|
Ein kritischer Fehler tritt auf, aber wird nicht angezeigt.
|
|
|
|
## 🔧 **Lösung:**
|
|
|
|
### **Schritt 1: Auf dem Webspace ausführen**
|
|
|
|
```bash
|
|
# 1. Ins Laravel-Verzeichnis wechseln
|
|
cd /var/www/html
|
|
|
|
# 2. Black Screen Fix ausführen
|
|
./fix-black-screen.sh
|
|
```
|
|
|
|
### **Schritt 2: Manuell (falls Script nicht funktioniert)**
|
|
|
|
```bash
|
|
# 1. Temporär Debug aktivieren
|
|
sed -i 's/APP_DEBUG=false/APP_DEBUG=true/' .env
|
|
php artisan config:clear
|
|
|
|
# 2. Logs leeren
|
|
> storage/logs/laravel.log
|
|
|
|
# 3. Cache komplett leeren
|
|
php artisan config:clear
|
|
php artisan route:clear
|
|
php artisan view:clear
|
|
php artisan cache:clear
|
|
php artisan optimize:clear
|
|
|
|
# 4. Composer Autoload neu generieren
|
|
composer dump-autoload --optimize
|
|
|
|
# 5. Berechtigungen prüfen
|
|
chmod -R 777 storage/
|
|
chmod -R 777 bootstrap/cache/
|
|
chmod 664 database.sqlite
|
|
chmod 644 .env
|
|
|
|
# 6. Datenbank-Verbindung testen
|
|
php artisan tinker --execute="echo 'DB Test: '; try { DB::connection()->getPdo(); echo 'OK'; } catch(Exception \$e) { echo 'FEHLER: ' . \$e->getMessage(); }"
|
|
|
|
# 7. Routen testen
|
|
php artisan route:list | head -10
|
|
|
|
# 8. Storage-Link prüfen
|
|
if [ ! -L "public/storage" ]; then
|
|
php artisan storage:link
|
|
fi
|
|
```
|
|
|
|
### **Schritt 3: Fehlermeldung analysieren**
|
|
|
|
1. **Seite aufrufen** - sollte jetzt Fehlermeldung zeigen
|
|
2. **Fehlermeldung notieren**
|
|
3. **Logs prüfen:**
|
|
```bash
|
|
tail -f storage/logs/laravel.log
|
|
```
|
|
|
|
### **Schritt 4: Häufige Fehler beheben**
|
|
|
|
#### **Fehler: "Class not found"**
|
|
```bash
|
|
composer dump-autoload --optimize
|
|
```
|
|
|
|
#### **Fehler: "Table not found"**
|
|
```bash
|
|
php artisan migrate --force
|
|
```
|
|
|
|
#### **Fehler: "Permission denied"**
|
|
```bash
|
|
chmod -R 777 storage/
|
|
chmod -R 777 bootstrap/cache/
|
|
```
|
|
|
|
#### **Fehler: "View not found"**
|
|
```bash
|
|
php artisan view:clear
|
|
```
|
|
|
|
### **Schritt 5: Production-Modus wiederherstellen**
|
|
|
|
```bash
|
|
# Debug deaktivieren
|
|
sed -i 's/APP_DEBUG=true/APP_DEBUG=false/' .env
|
|
php artisan config:clear
|
|
|
|
# Cache optimieren
|
|
php artisan optimize
|
|
```
|
|
|
|
## 🎯 **Häufige Ursachen:**
|
|
|
|
### **1. Autoload-Probleme**
|
|
- Neue Klassen nicht gefunden
|
|
- Composer Autoload nicht aktualisiert
|
|
|
|
### **2. Cache-Probleme**
|
|
- Alte Konfigurationen im Cache
|
|
- Route-Cache-Probleme
|
|
|
|
### **3. Datenbank-Probleme**
|
|
- Fehlende Tabellen
|
|
- Verbindungsprobleme
|
|
|
|
### **4. Berechtigungs-Probleme**
|
|
- Storage nicht beschreibbar
|
|
- Cache nicht beschreibbar
|
|
|
|
## 📋 **Checklist:**
|
|
|
|
- [ ] Debug temporär aktiviert
|
|
- [ ] Cache geleert
|
|
- [ ] Autoload aktualisiert
|
|
- [ ] Berechtigungen korrekt
|
|
- [ ] Datenbank getestet
|
|
- [ ] Fehlermeldung analysiert
|
|
- [ ] Fehler behoben
|
|
- [ ] Debug deaktiviert
|
|
|
|
## 🚀 **Nach dem Fix:**
|
|
|
|
Die Seite sollte jetzt funktionieren!
|
|
|