#!/bin/bash echo "🚨 Force Fix: Upload-Limits erzwingen" echo "====================================" # 1. Laravel Cache komplett leeren echo "1. 🧹 Laravel Cache komplett leeren..." php artisan cache:clear 2>/dev/null || echo " ⚠️ cache:clear übersprungen" php artisan config:clear 2>/dev/null || echo " ⚠️ config:clear übersprungen" php artisan route:clear 2>/dev/null || echo " ⚠️ route:clear übersprungen" php artisan view:clear 2>/dev/null || echo " ⚠️ view:clear übersprungen" php artisan config:cache 2>/dev/null || echo " ⚠️ config:cache übersprungen" # 2. Bootstrap Cache leeren echo "2. 🗂️ Bootstrap Cache leeren..." rm -f bootstrap/cache/*.php 2>/dev/null || echo " ⚠️ bootstrap/cache/*.php nicht gefunden" # 3. .htaccess Upload-Limits erzwingen echo "3. 🔧 .htaccess Upload-Limits erzwingen..." cat > public/.htaccess << 'EOF' RewriteEngine On # Force HTTPS RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] # Upload-Limits für Bild-Upload php_value upload_max_filesize 10M php_value post_max_size 10M php_value max_file_uploads 20 php_value memory_limit 256M php_value max_execution_time 300 php_value max_input_time 300 # Protect sensitive files Order allow,deny Deny from all Order allow,deny Deny from all Order allow,deny Deny from all EOF echo " ✅ .htaccess mit Upload-Limits erstellt" # 4. PHP-Konfiguration prüfen echo "4. 🔍 PHP-Konfiguration prüfen..." php fix-upload-limits.php # 5. Apache neu laden echo "5. 🔄 Apache neu laden..." systemctl reload apache2 2>/dev/null || service apache2 reload 2>/dev/null || echo " ⚠️ Apache reload fehlgeschlagen" # 6. Test-Script erstellen echo "6. 🧪 Test-Script erstellen..." cat > test-upload-limits.php << 'EOF' ini_get('upload_max_filesize'), 'post_max_size' => ini_get('post_max_size'), 'max_file_uploads' => ini_get('max_file_uploads'), 'memory_limit' => ini_get('memory_limit') ]; foreach ($limits as $setting => $value) { echo " - $setting: $value\n"; } // 2. Laravel Validierungsregeln prüfen echo "\n2. Laravel Validierungsregeln:\n"; $controllerPath = 'app/Http/Controllers/UserNailPolishController.php'; if (file_exists($controllerPath)) { $content = file_get_contents($controllerPath); if (preg_match('/image.*max:(\d+)/', $content, $matches)) { $maxKB = $matches[1]; $maxMB = $maxKB / 1024; echo " - Bild-Upload-Limit: {$maxKB}KB ({$maxMB}MB)\n"; if ($maxMB >= 10) { echo " ✅ Upload-Limit ist ausreichend (>= 10MB)\n"; } else { echo " ❌ Upload-Limit ist zu klein (< 10MB)\n"; } } else { echo " ❌ Keine Bild-Upload-Validierung gefunden\n"; } } else { echo " ❌ Controller nicht gefunden\n"; } // 3. View-Text prüfen echo "\n3. View-Text:\n"; $viewPath = 'resources/views/user-nail-polishes/create.blade.php'; if (file_exists($viewPath)) { $content = file_get_contents($viewPath); if (preg_match('/Maximale Größe: (\d+MB)/', $content, $matches)) { echo " - Angezeigte Größe: {$matches[1]}\n"; if ($matches[1] === '10MB') { echo " ✅ View zeigt korrekte Größe an\n"; } else { echo " ❌ View zeigt falsche Größe an\n"; } } else { echo " ❌ Keine Größenangabe in View gefunden\n"; } } else { echo " ❌ View nicht gefunden\n"; } echo "\n✅ Upload-Limits Test abgeschlossen!\n"; echo "🔗 Testen Sie jetzt: https://neonail.vogt.de.com/create-nail-polish\n"; ?> EOF echo " ✅ Test-Script erstellt" echo "" echo "✅ Force Upload-Limits Fix abgeschlossen!" echo "" echo "🔗 Testen Sie jetzt:" echo "1. https://neonail.vogt.de.com/create-nail-polish" echo "2. Versuchen Sie ein Handy-Foto hochzuladen" echo "" echo "📝 Falls Problem besteht:" echo "- Führen Sie php test-upload-limits.php aus" echo "- Leeren Sie Browser-Cache" echo "- Testen Sie in einem Inkognito-Fenster"